[프로그래머스] 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이 아닌 사람이 있다는 것으로 오해해서 틀렸고, ..
[프로그래머스] 2단계 - 영어 끝말잇기
2024. 1. 9. 19:25
Algorithm Study
문제 설명 n명의 사람이 영어 끝말잇기를 하고 있을때, 이전에 등장했던 단어를 말하거나 앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말하지 않았을때, 가장 먼저 탈락하는 사람의 번호와 그 사람이 몇 번째 차례에 탈락하는지 return https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이법 영어 단어가 들어있는 vector를 순회하면서 1. 앞에서 말한 단어가 또 나왔는지 검사 2. 앞에서 말한 단어의 마지막 말로 시작하는지 검사 총..
[프로그래머스] 2단계 - 짝지어 제거하기
2023. 12. 28. 20:44
Algorithm Study
문제 설명 문자열에서 같은 알파벳이 2개 붙어있는 짝을 제거한 뒤, 앞 뒤로 문자열을 이어붙이는 과정을 반복하면서 문자열을 모두 제거가 가능한지 여부를 return https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이법 먼저 string의 erase 함수를 사용해서 문제를 풀었었다 하지만 답은 맞지만, 효율성 테스트에서 전부 실패를 했기에 좀 더 빠른 방법을 찾아서 stack을 사용하게 되었다 문자열을 순회하며 stack이 비었거나, 해당..
[프로그래머스] 2단계 - 피보나치 수
2023. 12. 28. 20:27
Algorithm Study
문제 설명 n번째 피보나치 수를 1234567로 나눈 나머지를 return https://school.programmers.co.kr/learn/courses/30/lessons/12945?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이법 해당 문제는 n이 47일 때부터 int 자료형의 범위를 벗어나 버린다 따라서 자료형의 범위를 넘지 않게 vector에 피보나치 수열을 저장해야한다 문제에서 피보나치 수를 1234567로 나눈 나머지를 return 하라 했으니, 여기서 힌트를 얻어서 값을 저장해주면 된다 피보나치 수열에서 ..
[프로그래머스] 2단계 - 다음 큰 숫자
2023. 12. 28. 20:12
Algorithm Study
문제 설명 자연수 n이 주어졌을 때, n보다 크고 2진수로 변환했을때 1의 갯수가 같은 자연수를 return https://school.programmers.co.kr/learn/courses/30/lessons/12911 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이법 자연수 n보다 1 큰 숫자부터 시작하여 2진수로 변환했을 때, 1의 갯수가 같은 것을 찾는다 while문을 돌면서 숫자를 2로 나누며, 나머지가 1인 갯수를 세면 2진수로 변환했을 때의 1의 갯수를 구할 수 있다 소스 코드 #include #include using namesp..
[프로그래머스] 2단계 - 숫자의 표현
2023. 12. 27. 18:35
Algorithm Study
문제 설명 자연수 n을 연속한 자연수들로 표현하는 방법의 수를 return https://school.programmers.co.kr/learn/courses/30/lessons/12924 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이법 이중 for문을 통해 문제를 풀 수 있다 바깥의 for문은 총 n번을 반복하는 것이고, 안쪽의 for문은 i를 초기값으로 가지기에 n - i 번을 반복하는 것이다 즉, 만일 n이 15, i가 12라면 3번 반복하는 것이다 연속하는 자연수를 찾기 위해서 이렇게 해두었다 i가 1이고, n이 15라면 1, 2, 3...
[프로그래머스] 2단계 - 올바른 괄호
2023. 12. 27. 17:03
Algorithm Study
문제 설명 '(' 또는 ')'로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호인지 아닌지 return https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이법 스택을 사용하여 풀 수 있는 문제이다 문자열을 돌면서 문자가 '('이면 스택에 push한다 ')'이면 pop하는데, 우선 스택이 비어있는지 아닌지 검사한다 스택이 비어있으면 pop을 할 수 없으므로 바로 break 후 false를 return한다 스택이 비어있지 않지만..