본문 바로가기

알고리즘&자료구조(algorithm& data structure)/프로그래머스(programmers)5

[프로그래머스]해시-위장 문제 풀이 programmers.co.kr/learn/courses/30/lessons/42578?language=javascript 코딩테스트 연습 - 위장 programmers.co.kr 1. 종류별로 구분한다. 2. 종류1 2개, 종류2 1개 인 경우를 생각해보자. 2.1 종류1에서 하나를 뽑거나 안 뽑을 수 있다. 따라서 경우의 수는 하나를 뽑는 경우는 두 가지 + 안 뽑는 경우는 1 =>3 2.2 종류2에서 하나를 뽑거나 안 뽑을 수 있다. 하나 뽑는 경우는 한 가지 + 안 뽑는 경우 1 => 2 2.3 2.1의 경우의수와 2.2의 경우의 수를 곱하면 3*2인 6이 된다. 즉, 종류 1에는 {"a","b"}, 종류 2에는 {"z"} 가 있었다고 하면 위에서 가정한 조합은 다음과 같다. {"a", "b" ,.. 2021. 1. 3.
[프로그래머스 / 고득점 kit] 탐욕법: 조이스틱 ver2 0. 문제링크 1. 풀이방법 설명 2. 코드첨부 0. 문제링크 https://programmers.co.kr/learn/courses/30/lessons/42860# 코딩테스트 연습 - 조이스틱 | 프로그래머스 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다음 알파벳 ▼ - 이전 알파벳 (A에서 아래쪽으로 이동하면 Z로) ◀ - 커서를 왼쪽으로 이동 (첫 번째 위치에서 왼쪽으로 이동하면 마지막 문자에 커서) ▶ - 커서를 오른쪽으로 이동 예를 들어 아래의 방법으로 JAZ를 만들 수 있습니다. - 첫 번째 위 programmers.co.kr 1. 풀이.. 2019. 7. 24.
[프로그래머스 / 고득점 kit] 탐욕법: 조이스틱- ver 1 스틱 움직임을 시작시에 오른쪽과 왼쪽으로 구분하여 풀어가면서 더 복잡해 지는 경우가 발생한다. 1.오른쪽으로 가다가 왼쪽으로 되돌아 가는경우. 2.왼쪽으로 가다가 오른쪽으로 되돌아 가는경우. 해결 : 애초에 오른쪽으로 가는것을 기준으로 하고 되돌아 가야 할 때 되돌아 가도록 짜면 될 것 같다. 코드 첨부: i = 0 alpha_dict = {} for x in "ABCDEFGHIJKLMNOPQRSTUVWXYZ": if i 2019. 7. 24.
[programmers/ 고득점 kit] 정렬: 가장 큰수 이 문제를 풀면서 permutation, compare function 등 여러가지 학습을 할 수 있었다. 결국, 정렬을 위하여 직접 더해본 것을 비교해 봐야함을 알 수 있었다. 여러가지 경우를 다 체크하다 보면 시간이 오래 걸리므로 핵심이 되는 비교의 기준을 잡는 것이 중요했다. 입력데이터로 [12,121], [21,212] ,[0,0,0,1000], [20,201] 등 여러 데이터가 있었다. 최종적으로 테스트 했던 결과를 문제 링크 아래에 첨부해둔다. 1. 문제링크 https://programmers.co.kr/learn/courses/30/lessons/42746 알고리즘 연습 - 가장 큰 수 | 프로그래머스 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 .. 2019. 7. 16.