
[프로그래머스] 2단계 - 게임 맵 최단거리
2024. 2. 2. 22:09
Algorithm Study
문제 설명 게임 맵에서 상대팀 진영에 도착하기 위해 지나가는 칸의 최솟값을 return https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이법 최단 거리를 찾는 문제이므로 BFS를 통해서 문제를 풀었다 visited에는 방문했는지 여부를 체크하였고, arr는 지나온 칸의 수를 저장하였다 만일 마지막 지점인 arr[n - 1][m - 1]의 값이 0이라면 지나갈 수 없는 것이므로 -1를 리턴해주었다 소스 코드 #include #include ..

[프로그래머스] 2단계 - 행렬의 곱셈
2024. 2. 2. 21:18
Algorithm Study
문제 설명 행렬의 곱셈을 return https://school.programmers.co.kr/learn/courses/30/lessons/12949 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이법 문제 그대로 행렬의 곱셈이기에 행렬의 곱셈 방법대로 3중 for문만 잘 한다면 어렵지 않게 구할 수 있다 다만, for문의 범위를 잘 체크해야한다!!! 설명은 행렬의 곱셈 방법 그대로이기에 pass~~ 소스 코드 #include #include using namespace std; vector solution(vector arr1, vector a..

[프로그래머스] 3단계 - 정수 삼각형
2024. 2. 1. 22:31
Algorithm Study
문제 설명 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합 중 최댓값을 return https://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이법 아무래도 삼각형은 dp의 대표적인 문제 같다 우선 dp문제이므로 배열을 하나 선언해주고, 삼각형의 맨 꼭대기 숫자를 넣어준다 이후 for문을 돌면서 값을 넣어주는데 맨 왼쪽이나, 맨 오른쪽 값이면 위의 숫자를 바로 넣어준다 만일 y좌표가 i고 x좌표가 j일때 맨 왼쪽 값이면, dp[i..

[프로그래머스] 2단계 - 프로세스
2024. 1. 30. 19:17
Algorithm Study
문제 설명 운영체제가 우선순위 큐로 프로세스를 관리할 경우 특정 프로세스가 몇 번째로 실행되는지 return https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이법 문제 설명에도 나와있듯이 queue를 통해서 문제를 풀었다 우선순위대로 실행이 되고 특정 프로세스의 위치를 알아야 하는 것이 핵심이었다 우선 queue에 vector에 있는 값들을 순서대로 넣어준다 그리고 우선순위를 알기 위해 vector의 값들을 내림차순 정렬을 해준다 특정 ..

[프로그래머스] 2단계 - 할인 행사
2024. 1. 30. 16:58
Algorithm Study
문제 설명 회원을 대상으로 매일 한 가지 제품을 할인하는 행사를 하는 마트에, 자신이 원하는 제품과 수량이 할인하는 날짜와 10일 연속으로 일치할 경우에 맞춰서 회원가입을 하고자 할 때 원하는 제품을 모두 할인 받을 수 있는 회원 등록 날짜의 수 return https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이법 map을 사용하여서 할인하는 제품과 할인하는 날짜 수를 넣고, 확인하는 방식으로 문제를 풀었다 map을 잘 사용해보지 않아서 ..

[프로그래머스] 2단계 - n^2 배열 자르기
2024. 1. 30. 16:00
Algorithm Study
문제 설명 정수 n, left, right가 주어졌을때 여러 과정을 거쳐 만들어진 1차원 배열을 return https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이법 입출력 예시를 보면서 처음에는 그냥 배열을 하나 다 만든다음에 left, right 범위만 잘라서 return 했다 그랬더니 시간초과가 나버렸기에 수식을 통해서 문제를 풀어야겠다고 생각했다 수식을 알아내기 위해 우선 해당 인덱스의 좌표 값을 알기 위해 이것저것 하며 알아낸 결과..

[프로그래머스] 2단계 - 괄호 회전하기
2024. 1. 22. 21:50
Algorithm Study
문제 설명 ( ), [ ], { } 가 짝을 맞춰있는 것을 올바른 괄호 문자열이라고 한다 문자열 s를 x칸만큼 회전시켰을 때 s가 올바른 괄호 문자열이 되게 하는 x의 개수를 return https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이법 괄호 관련된 문제가 나오면 거의 stack을 이용해 푸는 것 같다 이번에도 스택을 통해 문제를 풀었다 문자열 s를 회전한다는 말은 만일 문자열이 'hello' 인 경우 'hello' -> 'elloh..

[프로그래머스] 2단계 - 귤 고르기
2024. 1. 18. 21:53
Algorithm Study
문제 설명 수확한 귤 중 k개를 골라 한 상자에 담아 판매하려고 할 때, 서로 다른 종류의 귤의 수의 최솟값을 return https://school.programmers.co.kr/learn/courses/30/lessons/138476# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이법 vector와 sort를 사용하면 금방 풀 수 있다 서로 다른 종류의 수를 최소화 하기 위해서는 공통인 수를 먼저 가져가야 한다 수가 중복인 것을 알기 위해서 주어진 tangerine을 순회하면서 vector에 해당 인덱스에 + 1을 하면서 각 원소들을 cou..

[프로그래머스] 2단계 - 멀리뛰기
2024. 1. 18. 21:23
Algorithm Study
문제 설명 멀리뛰기를 할 때 한번에 1칸, 2칸만 뛸 수 있을때 n칸이 주어졌을때 뛸 수 있는 경우의 수를 return https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이법 문제를 처음 봤을때 DP 문제인지 모르고 조합으로 풀어야하나..? 한번에 뛸 수 있는 칸의 크기에 초점을 두어서 문제를 보고 있었다 하지만 정답을 1234567로 나누어서 return 하라는 문구를 보고 이전에 비슷하게 return 문구가 있던 피보나치 수열을 생각하..

[프로그래머스] 2단계 - 구명보트
2024. 1. 11. 21:05
Algorithm Study
문제 설명 무인도에 갇힌 사람들을 무게 제한과 탑승 인원이 최대 2명인 구명보트를 이용해서 구출하려고 할때, 최대한 적게 사용하는 구명보트의 수 return https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이법 투 포인터를 활용하여 문제를 풀었다 문제에 함정이 있는데, 하나는 각 사람의 몸무게는 40kg이상이고, 구명보트의 무게 제한은 40kg라는 것이다 처음에는 잘못읽고 몸무게가 40kg이 아닌 사람이 있다는 것으로 오해해서 틀렸고, ..