본문 바로가기

프로그래머스5

[프로그래머스] 더 맵게 우선순위 큐를 사용해 풀었습니다. 큐에서 peek으로 하나의 원소를 보고 k보다 작다면 반복문을 시작하며 반복문 끝나는 조건은 1. peek으로 바라본 원소가 k 이상일 경우. ( 바라본 원소의 뒤쪽은 다 현재값 이상임) 2. 큐의 사이즈가 1인경우 -> 더이상 새로운 스코빌의 음식을 만들지 못함 -> -1 출력 위의 경우가 아닌경우. poll로 2개를 빼서 문제에 적혀있는대로 (poll()+poll()*2) 처리 를 해줘서 다시 큐에 넣어주면 됩니다. 프로그래머스에 제출시 출력 형식에 맞게 고쳐주어야 합니다. 2019. 11. 17.
[프로그래머스 / 2018 카카오 블라인드 채용] 다트게임 ( 문제부분의 이미지쪽은 잘라내기 하였습니다.) 푸는 계획을 먼저 크게 잡고 구현하였습니다. 1. 입력 문자열을 배열로 바꿈 2. 반복문을 돌면서 알파벳이 나올때 까지 큐에 넣어줌. 3. 알파벳이 나오면 점수를 만드는 함수에 큐를 넣음. 4. 큐에서 하나씩 뽑아 해당하는 점수를 만듦. 5. 모두 더해 답 출력 그리고 세부적인 계획. 1. 반복문을 돌다 알파벳이 나오면 그 바로 뒤의 문자를 찾아 옵션이 있는 경우 i+1 번째에 있는 문자를 큐에 넣어주고 반복문의 i를 올려줌. 2. 점수를 만들때 첫번째에 스타상이 나올경우와 2, 3번째 나올경우를 따로 처리 3. 큐에서 뽑을때 [ 숫자 | 문자 | 옵션 ] 의 순서에서 10을 따로 처리해주어야 함. 이렇게 계획을 세워놓고 코드를 작성하였습니다. 밑의 코드는.. 2019. 10. 16.
[프로그래머스 / 2018 카카오 블라인드 채용] 프렌즈 4블록 이거 예전에 실제로 지원했던 시험인데 그땐 왜인지는 모르겠지만 그냥 1번, 2번문제 풀고인가 포기했었습니다. 그때 이 블록문제가 기억에 크게 남아있어서 이번에 다시 풀어봤습니다. 푸니까 풀리더군요... 그때 그냥 개같이 할걸그랫나? 결과적으로 어떻게 진행하지 말씀드리면 1. 보드를 2차원 배열에 옮겨주고나서 배열을 쭉 탐색한다. 2. 현재 값이 현재 위치의 (우, 하, 우하) 3개가 동시에 같은지 알아본다. 만약 3개의 값이 동시에 같다면 현재 배열위 위치와 3방향의 위치를 check 배열에서 1로 표시한다. 3. check배열의 1의 개수를 구한다. ( 2*2가 성립되어 사라질 블록의 개수) 그리고 answer에 더한다. 4. 배열을 세로방향으로 돌면서 큐에 넣음. check를 확인하며 남아있을 블록을.. 2019. 10. 11.
[프로그래머스] 등굣길 DP문제입니다 첨에는 그냥 BFS로 풀엇다가 정확성 테스트는 통과했는데 코드도 더럽고 시간초과에서 박살나고 해서 문제 분류되있는데로 DP로 풀었습니다. 시작점과 웅덩이부분 설정해주고 기본적으로 어느 좌표의 값 (x, y)는 왼쪽과 위를 합한 값이 되는걸로 작성하고 경계부분과 웅덩이 부분을 따로 처리해줬습니다. 2019. 10. 3.