Algorithm
-
[알고리즘] 프로그래머스 0단계 - [PCCE 기출문제] 5번 / 산책Algorithm 2024. 5. 16. 16:18
프로그래머스 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/250129 문제 설명여름이는 강아지를 산책시키려고 합니다. 여름이는 2차원 좌표평면에서 동/서/남/북 방향으로 1m 단위로 이동하면서 강아지를 산책시킵니다. 산책루트가 담긴 문자열 route가 주어질 때, 도착점의 위치를 return하도록 빈칸을 채워 solution함수를 완성해 주세요. route는 "N", "S", "E", "W"로 이루어져 있습니다. "N"은 북쪽으로 1만큼 움직입니다. "S"는 남쪽으로 1만큼 움직입니다. 북쪽으로 -1만큼 움직인 것과 같습니다. "E"는 동쪽으로 1만큼 움직입니다. "W"는 서쪽으로 1만큼 움직입니다. 동쪽으로 -1만큼 움직인 것과 같습니..
-
[알고리즘] 프로그래머스 0단계 - [PCCE 기출문제] 4번 / 저축Algorithm 2024. 5. 14. 14:12
프로그래머스 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/250130 문제 설명진우는 돈을 모으기 위해 저축을 하려고 합니다. 목표로 하는 금액은 100만 원이며, 첫 달에 일정 금액을 넣은 뒤 70만 원까지는 매월 조금씩 저축하다가 70만 원 이후부터는 월 저축량을 늘려 빠르게 목표 금액을 달성하고자 합니다. 첫 달에 저축하는 금액을 나타내는 정수 start, 두 번째 달 부터 70만 원 이상 모일 때까지 매월 저축하는 금액을 나타내는 정수 before, 100만 원 이상 모일 때 까지 매월 저축하는 금액을 나타내는 정수 after가 주어질 때, 100만 원 이상을 모을 때까지 걸리는 개월 수를 출력하도록 빈칸을 채워 코드를 완성해 주..
-
[알고리즘] 프로그래머스 1단계 - 덧칠하기Algorithm 2024. 5. 13. 17:11
프로그래머스 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/12906 문제 설명어느 학교에 페인트가 칠해진 길이가 n미터인 벽이 있습니다. 벽에 동아리 · 학회 홍보나 회사 채용 공고 포스터 등을 게시하기 위해 테이프로 붙였다가 철거할 때 떼는 일이 많고 그 과정에서 페인트가 벗겨지곤 합니다. 페인트가 벗겨진 벽이 보기 흉해져 학교는 벽에 페인트를 덧칠하기로 했습니다. 넓은 벽 전체에 페인트를 새로 칠하는 대신, 구역을 나누어 일부만 페인트를 새로 칠 함으로써 예산을 아끼려 합니다. 이를 위해 벽을 1미터 길이의 구역 n개로 나누고, 각 구역에 왼쪽부터 순서대로 1번부터 n번까지 번호를 붙였습니다. 그리고 페인트를 다시 칠해야 할 구역들을..
-
[알고리즘] 프로그래머스 1단계 - 같은 숫자는 싫어Algorithm 2024. 5. 11. 13:22
프로그래머스 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/12906 문제 설명배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution..
-
[알고리즘] 프로그래머스 2단계 - [PCCP 기출문제] 2번 / 석유 시추Algorithm 2024. 5. 9. 13:55
프로그래머스 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/250136 문제 설명2차배열로 주어진 lands라는 땅이라는 배열 값에서 석유 시추를 직선으로 내려서 시추관과 석유가 닫는 모든 석유의 양이 최대인 경우를 찾는다.석유는 숫자 1로 되어있다. 예시lands [[0, 0, 0, 1, 1, 1, 0, 0], [0, 0, 0, 0, 1, 1, 0, 0], [1, 1, 0, 0, 0, 1, 1, 0], [1, 1, 1, 0, 0, 0, 0, 0], [1, 1, 1, 0, 0, 0, 1, 1]] result9 일반적인 미로찾기나 섬찾기에서 사용하는 bfs 방식으로 풀었다고 생각했는데 효율성에서 시간초과가 발생한다..일단 해결해보고 해결이 ..
-
[알고리즘] 프로그래머스 1단계 - 모의고사Algorithm 2024. 5. 8. 15:55
프로그래머스 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/42840 문제 설명수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은..
-
[알고리즘] 프로그래머스 1단계 - [PCCE 기출문제] 9번 / 이웃한 칸Algorithm 2024. 5. 7. 13:35
프로그래머스 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/250125 문제 설명각 칸마다 색이 칠해진 2차원 격자 보드판이 있습니다. 그중 한 칸을 골랐을 때, 위, 아래, 왼쪽, 오른쪽 칸 중 같은 색깔로 칠해진 칸의 개수를 구하려고 합니다. 보드의 각 칸에 칠해진 색깔 이름이 담긴 이차원 문자열 리스트 board와 고른 칸의 위치를 나타내는 두 정수 h, w가 주어질 때 board[h][w]와 이웃한 칸들 중 같은 색으로 칠해져 있는 칸의 개수를 return 하도록 solution 함수를 완성해 주세요. 이웃한 칸들 중 몇 개의 칸이 같은 색으로 색칠되어 있는지 확인하는 과정은 다음과 같습니다. 예시board[["blue", "red..
-
[알고리즘] 프로그래머스 1단계 - 가장 많이 받은 선물Algorithm 2024. 5. 6. 23:07
프로그래머스 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/258712 문제 설명선물을 직접 전하기 힘들 때 카카오톡 선물하기 기능을 이용해 축하 선물을 보낼 수 있습니다. 당신의 친구들이 이번 달까지 선물을 주고받은 기록을 바탕으로 다음 달에 누가 선물을 많이 받을지 예측하려고 합니다. 두 사람이 선물을 주고받은 기록이 있다면, 이번 달까지 두 사람 사이에 더 많은 선물을 준 사람이 다음 달에 선물을 하나 받습니다. 예를 들어 A가 B에게 선물을 5번 줬고, B가 A에게 선물을 3번 줬다면 다음 달엔 A가 B에게 선물을 하나 받습니다. 두 사람이 선물을 주고받은 기록이 하나도 없거나 주고받은 수가 같다면, 선물 지수가 더 큰 사람이 선물..