24년 11월 이전/레거시-알고리즘(3)
-
[프로그래머스 3단계] 알고리즘 43. 거스름돈24년 11월 이전/레거시-알고리즘(3) 2018. 5. 31. 15:13
문제 출처는 프로그래머스 알고리즘 연습 에서 볼 수 있습니다!(https://programmers.co.kr/learn/challenges) 2018년 5월 중순 프로그래머스 홈페이지가 업데이트가 되었습니다. 기존 알고리즘 단계 분류가 틀리니 참고하세요. 알고리즘 43. 거스름돈 Finn은 편의점에서 야간 아르바이트를 하고 있습니다. 야간에 손님이 너무 없어 심심한 Finn은 손님들께 거스름돈을 n 원을 줄 때 방법의 경우의 수를 구하기로 하였습니다. 예를 들어서 손님께 5원을 거슬러 줘야 하고 1원, 2원, 5원이 있다면 다음과 같이 4가지 방법으로 5원을 거슬러 줄 수 있습니다. 1원을 5개 사용해서 거슬러 준다.1원을 3개 사용하고, 2원을 1개 사용해서 거슬러 준다.1원을 1개 사용하고, 2원을 ..
-
[프로그래머스 5단계] 알고리즘 41. 124 나라의 숫자24년 11월 이전/레거시-알고리즘(3) 2018. 5. 24. 13:11
문제 출처는 프로그래머스 알고리즘 연습 에서 볼 수 있습니다!(https://programmers.co.kr/learn/challenges) 알고리즘 41. 124 나라의 숫자 1,2,4 세 개의 숫자만 쓰는 124나라가 있습니다. 124나라에서 사용하는 숫자는 다음과 같이 변환됩니다.10진법의 1 → 110진법의 2 → 210진법의 3 → 410진법의 4 → 1110진법의 5 → 1210진법의 6 → 1410진법의 7 → 2110진법의 수 N이 입력될 때, 124나라에서 쓰는 숫자로 변환하여 반환해주는 change124 함수를 완성해 보세요. 예를 들어 N = 10이면 “41”를 반환해주면 됩니다. 리턴 타입은 문자열입니다.class OneTwoFour { public String change124(i..
-
[프로그래머스 5단계] 알고리즘 40. 줄 서는 방법24년 11월 이전/레거시-알고리즘(3) 2018. 5. 23. 12:38
문제 출처는 프로그래머스 알고리즘 연습 에서 볼 수 있습니다!(https://programmers.co.kr/learn/challenges) 알고리즘 40. 줄 서는 방법 N명의 사람이 있을 때, N명의 사람을 서로 다른 방법으로 줄을 세우는 방법은 N!개가 존재합니다.이 때 각각의 사람들에게 번호를 매겨서 줄을 서는 방법을 표시합니다. 예를들어 [1,2,3,4]는 1번 사람이 제일 앞에, 2번 사람이 2두번째에... 서 있는 상태를 나타냅니다.이러한 각각의 방법을 사전순으로 정렬했을때 K번째 방법으로 줄을 세우는 방법을 찾아 보려고 합니다.예를 들어 3명의 사람이 있다면 총 6개의 방법은 다음과 같이 정렬할 수 있습니다.1번째 방법은 [1,2,3]2번째 방법은 [1,3,2]3번째 방법은 [2,1,3]4..
-
[프로그래머스 5단계] 알고리즘 39. 2 x n 타일링24년 11월 이전/레거시-알고리즘(3) 2018. 5. 17. 14:29
문제 출처는 프로그래머스 알고리즘 연습 에서 볼 수 있습니다!(https://programmers.co.kr/learn/challenges)알고리즘 39. 2 x n 타일링 1x1 정사각형 2개가 붙어 있는 타일이 있습니다. 이 타일을 이용하여 총 2xN 의 보드판을 채우려고 합니다. 타일은 가로, 세로 두 가지 방향으로 배치할 수 있습니다.보드판의 길이 N이 주어질 때, 2xN을 타일로 채울 수 있는 경우의 수를 반환하는 tiling 함수를 완성하세요.예를들어 N이 7일 경우 아래 그림이 타일을 배치할 수 있는 한 경우입니다. 단, 리턴하는 숫자가 매우 커질 수도 있으므로 숫자가 5자리를 넘어간다면 맨 끝자리 5자리만 리턴하세요.예를 들어 N = 2일 경우 가로로 배치하는 경우와 세로로 배치하는 경우가..
-
[프로그래머스 5단계]알고리즘 38. 하노이 탑24년 11월 이전/레거시-알고리즘(3) 2018. 5. 15. 13:14
문제 출처는 프로그래머스 알고리즘 연습 에서 볼 수 있습니다!(https://programmers.co.kr/learn/challenges) 문제 38. 하노이 탑 하노이의 탑은 대표적인 퍼즐의 일종입니다. 세 개의 기둥이 있고 맨 왼쪽의 기둥에는 원판의 크기 순서대로 N개가 쌓여 있습니다.이렇게 쌓여 있는 원판을 가장 오른쪽 기둥으로 모두 옮겨야 합니다. 단, 한 번에 원판을 하나씩 이동시킬 수 있고, 큰 원판을 작은 원판 위에 쌓을 수 없습니다.N개의 원판은 총 2N -1 번의 과정을 거쳐 이동할 수 있습니다. 하지만 어떠한 과정으로 원판을 옮겨야 2N -1 번만에 옮길 수 있는지는 아직 모릅니다. 원판이 N개 있을 때, Hanoi 함수에서 어떠한 과정으로 2N -1 번만에 옮길 수 있는지 과정을 리..
-
[프로그래머스 4단계] 알고리즘 37. 땅따먹기 게임24년 11월 이전/레거시-알고리즘(3) 2018. 5. 11. 13:03
문제 출처는 프로그래머스 알고리즘 연습 에서 볼 수 있습니다!(https://programmers.co.kr/learn/challenges)알고리즘 37. 땅따먹기 게임 영희는 땅따먹기 게임에 푹 빠졌습니다. 땅따먹기 게임의 땅은 총 N행 4열로 나누어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 땅을 밟으면서 한 행씩 내려올 때, 영희는 각 행의 4칸 중 1칸만 밟으면서 내려올 수 있습니다. 땅따먹기 게임에는 같은 열을 연속해서 밟을 수가 없는 특수 규칙이 있습니다. 즉, 1행에서 (5)를 밟았다면, 2행의 (8)은 밟을 수가 없게 됩니다. 마지막 행까지 모두 내려왔을 때, 점수가 가장 높은 사람이 게임의 승자가 됩니다. 여러분이 hopscotch 함수를 제작하여 영희가 최대 몇 점을 얻을 수 있는지 ..
-
[프로그래머스 4단계] 알고리즘 36. 가장 큰 정사각형 찾기24년 11월 이전/레거시-알고리즘(3) 2018. 5. 9. 12:00
문제 출처는 프로그래머스 알고리즘 연습 에서 볼 수 있습니다!(https://programmers.co.kr/learn/challenges) 알고리즘 36. 가장 큰 정사각형 찾기 O와 X로 채워진 표가 있습니다. 표 1칸은 1 x 1 의 정사각형으로 이루어져 있습니다. 표에서 O로 이루어진 가장 큰 정사각형을 찾아 넓이를 반환하는 findLargestSquare 함수를 완성하세요. 예를 들어12345XOOOXXOOOOXXOOOXXOOOXXXXX가 있다면 정답은12345XOOOXXOOOOXXOOOXXOOOXXXXX가 되며 넓이는 9가 되므로 9를 반환해 주면 됩니다.#include#include#includeusing namespace std; int findLargestSquare(vector boar..
-
[프로그래머스 4단계] 알고리즘 35. 공항 건설하기24년 11월 이전/레거시-알고리즘(3) 2018. 4. 26. 13:44
문제 출처는 프로그래머스 알고리즘 연습 에서 볼 수 있습니다!(https://programmers.co.kr/learn/challenges) 알고리즘 35. 공항 건설하기 1보다 큰 N개의 도시 중 한 곳에 공항을 지을 예정입니다. 사람들의 편의를 위해 공항으로부터 각 사람들까지의 도시간 이동 거리가 최소가 되는 도시에 짓기로 하였습니다. 편의상 도시는 일직선상에 놓여있다고 가정하며 좌표의 범위는 음수가 포함됩니다. 또한 좌표는 정렬되어 있지 않습니다. 직선상의 위치와 그 도시에 사는 사람들의 수가 주어질 때, 공항을 지을 도시의 위치를 반환해주는 함수 chooseCity 함수를 완성하세요. 거리가 같은 도시가 2개 이상일 경우 위치가 더 작은 쪽의 도시를 선택하면 됩니다. 예를 들어 다음과 같은 정보의..