본문 바로가기

프로그래밍/프로그래머스39

Lv2_[멀리뛰기, C++] 풀이 및 알고리즘 정리 - 프로그래머스 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 내용, 조건, 예시는 프로그래머스 사이트 참조 멀리뛰기 먼저 n의 따른 방법의 수를 구해보자. n=1일 때, 1가지 방법 (1칸) n=2일 때, 2가지 방법 (1칸, 1칸) (2칸) n=3일 때, 3가지 방법 (1칸, 1칸, 1칸) (2칸, 1칸) (1칸, 2칸) n=4일 때, 5가지 방법 (1칸, 1칸, 1칸, 1칸) (2칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 2칸) n=5일 때, 8가지 방법 (1칸, 1칸, 1칸, 1칸, 1칸) (2칸, 1칸, 1칸, 1칸) (1칸.. 2023. 6. 2.
Lv2_[의상, C++] 풀이 및 알고리즘 정리 - 프로그래머스 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 내용, 조건, 예시는 프로그래머스 사이트 참조 의상 이번 문제는 경우의 수를 계산하면 비교적 쉽게 해결할 수 있습니다. [["yellow_hat", "headgear"], ["blue_sunglasses", "eyewear"], ["green_turban", "headgear"]] 예시를 표로 정리하면 headgear eyewear yellow_hat blue_sunglasses green_turban headgear 2개, eyewear 1개가 있습니다. 두 가지로 입는 경우 수를 구하면 2x1 = 2.. 2023. 5. 29.
Lv2_[전화번호 목록, C++] 풀이 및 알고리즘 정리 - 프로그래머스 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 내용, 조건, 예시는 프로그래머스 사이트 참조 '한 번호가 다른 번호의 접두어인 경우'를 찾아야하기 때문에 아래와 같은 생각을 했습니다. "길이가 짧은 것을 앞에 배치하고 크기에 따라 정렬하면 편하겠다" 위의 내용을 감안하여 알고리즘을 짜봤습니다. 알고리즘 sort 오름차순 정렬을 통해서 크기가 작은 값을 앞에 배치 ("234" < "1234") string 비교는 길이 짧은것이 작다고 판단, 길이가 같으면 크기 순으로 정렬) 정렬된 순서대로 인접한 두 문자열을 비교 비교할 때는 작은 문자열 기준으로 크.. 2023. 5. 28.
Lv2_[[1차] 캐시, C++] 풀이 및 알고리즘 정리 - 프로그래머스 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 내용, 조건, 예시는 프로그래머스 사이트 참조 문제에서 반드시 알아야 할 부분은 '캐시 교체 알고리즘 LRU(Least Recently Used)' LRU는 가장 최근에 사용되지 않은 데이터를 우선적으로 교체하는 방식으로 캐시 메모리에 있는 데이터 중에서 가장 오랫동안 사용되지 않은 데이터를 제거하여 새로운 데이터를 캐시에 적재하는데 사용합니다. 크기가 3인 cache에 (JEJU, Pangyo, Seoul) 순차 삽입 가득 차 있는 cache에 cache miss되는 문자열 삽입 가장 오래된 JEJU는.. 2023. 5. 23.
Lv2_[다음 큰 숫자, C++] 풀이 및 알고리즘 정리 - 프로그래머스 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 내용, 조건, 예시는 프로그래머스 사이트 참조 2진수의 1의 개수가 동일한 큰 수를 찾아야 합니다. (※ 가독성을 위해 2진수 0b는 생략) 1의 수가 바뀌지 않고 다음 큰 숫자를 구하는 방법은 아래와 같다. 1(01) + 1(01) = 2(10) 1(01) 위치에 1(01)을 더하면 1의 숫자 개수도 같고 다음 큰 수의 만족을 하는 2(10)의 값을 구할 수 있습니다. ex) 9(1001)은 1번째 자리에서 일치 9(1001) + 1(01) = 10(1010) ex) (10010)은 2번째 자리에서 일.. 2023. 3. 30.
Lv2_[올바른 괄호, C++] 풀이 및 알고리즘 정리 - 프로그래머스 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 내용, 조건, 예시는 프로그래머스 사이트 참조 알고리즘 괄호방향에 따라 아래와 같의 정의해서 '(' = +1 ')' = -1 덧셋뺄셈으로 문제를 해결할 수 있다. 정의된 값을 가지고 두가지 조건을 만족한다면 알고리즘은 완성 조건1) 순차적으로 비교를 하는 중간에는 결과 값이 '0' 아니면 '항상 양수'가 되어야 함 -(음수)가 되면 즉시 false 조건2) 전부 비교한 후, 결과 값이 0이면 true 0이 아닌 모든 수는 false - 음수가 되는 경우는 ')'가 '('보다 먼저 들어온 경우 - 결과 값.. 2023. 3. 29.
Lv2_[가장 큰 정사각형 찾기, C++] 풀이 및 알고리즘 정리 - 프로그래머스 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 내용, 조건, 예시는 프로그래머스 사이트 참조 알고리즘 정사각형을 찾기 위해 선택 index 기준으로 차근차근 알아보는 방법을 선택 주어진 2차원 벡터를 행렬형태로 배치하고 [[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1,0]] index기준(1인 경우)으로 '왼쪽 대각선 위', '왼쪽', '위쪽' 3부분을 비교함 비교 후 가장 값이 낮은 값과 현재 index 값을 더해줌 (위 결과 값은 정사각형이 만족되는 크기임) index가 x축(행), y축(열) 둘 중에 1개라도 0이 포함되는 .. 2023. 3. 27.
Lv2_[124 나라의 숫자, C++] 풀이 및 알고리즘 정리 - 프로그래머스 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 내용, 조건, 예시는 프로그래머스 사이트 참조 알고리즘 진수 변환에 문제는 mod(모드; %) 연산자를 활용하는 것이 효율적 124나라는 3진수와 동일함 아래의 표에 필요한 계산값을 정리함 패턴을 분석하면 %(mod) 연산은 1, 2, 0 순으로 반복 → string("412")로 구성 후 index 접근 가능 / (나눗셈) 연산은 0, 0, 1 패턴으로 반복 → 3번째 값만 다른 2개의 값보다 1이 많음 → 3개씩 묶어서 같은 자리수가 되기 때문에 3번째 값에는 -1을 해줌 나머지 값을 결과값 앞으로 .. 2023. 3. 23.
Lv1_[개인정보 수집 유효기간, C++] 풀이 및 알고리즘 정리 - 프로그래머스 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 내용, 조건, 예시는 프로그래머스 사이트 참조 알고리즘 1.날짜 비교 날짜의 단순 크기를 비교하는 간단한 방법은 년.월.일. 모두를 '일' 기준으로 풀어서 쓰는 것 1달을 28일로 기준이라면 (1월=28일), (1년=12월=12*28일=336)으로 풀어 쓸 수 있습니다. YYYY.MM.DD를 계산식으로 만들면 (YYYY*12*28) + ((MM-1)*28) + DD 이 됨 today 2022.05.19를 계산하면 (2022*12*28) + ((5-1)*28) + 19 = 679,523 나온 값으로 문제에.. 2023. 2. 8.
728x90
반응형