본문 바로가기
728x90

분류 전체보기302

[Swift] 프로그래머스 크레인 인형뽑기 게임(lv. 1) [Swift] 프로그래머스 크레인 인형뽑기 게임(lv. 1) 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 접근 포인트 1) 각 캐릭터는 숫자로 표시되며, 숫자가 같으면 같은 캐릭터이다. 이차원 배열로 입력이 주어지고, moves로는 특정한 열의 위치가 주어져 있다. 한 번의 반복마다 그 열로 가서 '인형을 뽑거나 허탕을 쳐야'한다. 포인트 2) 예시 설명에서 맨 오른쪽에 있는 부분이 스택과도 같다. 그렇다면, moves가 만.. 2023. 2. 14.
[Swift] 프로그래머스 키패드 누르기(lv. 1) [Swift] 프로그래머스 키패드 누르기(lv. 1) 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 접근 문제를 잘 읽어보면 왼쪽의 1, 4, 7은 왼손으로, 오른쪽의 3, 6, 9는 오른손으로 필히 누르게 되어 있다. 그렇다면, 2, 5, 8, 0을 누를 때의 규칙만 잘 정해주면 된다. 2, 5, 8, 0을 눌러야 할 때는 양손 중에 "그 버튼과 현재 가까이 있는 위치의 손으로 누른다"라고 하였다. 그러면 현재 위치를 계속 .. 2023. 2. 13.
[Algorithm] 안정 정렬과 불안정 정렬의 차이점 [Algorithm] 안정 정렬과 불안정 정렬의 차이점 2023.01.19 - [Algorithm] - [Swift] 프로그래머스 문자열 내 마음대로 정렬하기(lv. 1) [Swift] 프로그래머스 문자열 내 마음대로 정렬하기(lv. 1) [Swift] 프로그래머스 문자열 내 마음대로 정렬하기(lv. 1) 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12915 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스 masterpiece-programming.tistory.com 드디어 이것에 대한 답을 어느정도 이해하고 포스팅할 시간이 왔다. 이전에 품었던 의문이었다. 이 부분은 안정 정렬과 불안정 정렬의 정의를.. 2023. 2. 12.
[Algorithm] 퀵 정렬, 병합 정렬 알고리즘(Swift 구현) [Algorithm] 퀵 정렬, 병합 정렬 알고리즘(Swift 구현) 퀵 정렬(Quick Sort)은 많이 사용되는 알고리즘이다. 더불어 병합 정렬(Merge Sort)도 많이 쓰인다. 두 정렬 알고리즘은 삽입, 선택 정렬보다 훨씬 빠른 속도로 정렬되기 때문에 대부분의 프로그래밍 언어에서 정렬 라이브러리에서 활용되기도 한다. 현재 정렬 알고리즘의 근간이 되는 두 정렬을 이번 포스팅에서는 알아볼 것이다. 1. 퀵 정렬(Quick Sort) 1) 정의 기준 데이터를 설정하고 그 기준보다 큰 데이터와 작은 데이터의 위치를 바꾸는 정렬 방법 2) 설명 (1) 과정 설명 정의만으로는 이해하기가 어렵다. 상세히 설명을 해보겠다. 퀵 정렬은 '분할 정복' 방법으로 리스트를 정렬하는 것이다. (오름차순 기준) (1) .. 2023. 2. 11.
[Swift] 프로그래머스 숫자 짝꿍(lv. 1) [Swift] 프로그래머스 숫자 짝궁(lv. 1) 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/131128 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 접근 "두 수에서 공통된 숫자를 모아서 가장 큰 수를 만들어라" 요약하면 이렇게 된다. 그러면 0~9까지의 수만 하나씩 필터링 하면서 세면 되지 않을까? 그리고 나중에 이 숫자를 다시 내림차순으로 정렬해야 하는데, 그 개수를 index로 활용해서 세면 되지 않을까? 라는 생각이 들었다. 정렬의 방식 중 계수 정렬이 떠올랐고, 이를.. 2023. 2. 10.
[Swift] 프로그래머스 명예의 전당 (1)(lv. 1) [Swift] 프로그래머스 명예의 전당 (1)(lv. 1) 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/138477 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 접근 honorList 라는 배열의 크기가 k가 넘지 않게끔 조절해주면서, 매번 내림차순으로 정렬하면서 마지막 인덱스의 원소를 계속 구해주면 되는 문제였다. honorList의 크기가 3이 되는 순간부터, 마지막 숫자가 score[i] 보다 작다면, honorList의 마지막 수를 새로운 score[i]로 바꾸고 sort.. 2023. 2. 9.
728x90