Coding Test/programmers
-
[프로그래머스] 두 큐 합 같게 만들기 c++Coding Test/programmers 2022. 9. 5. 15:00
문제 설명 같은 크기의 vector가 두개 주어지고, 두 벡터의 원소들의 합/2 == 벡터1, 벡터2 각 원소들의 합과 같도록 원소를 이동시켜야한다. 벡터1의 원소들의 합과 벡터2의 원소들의 합이 같은지 확인하면 된다. (문제는 queue라고 하는데 인자는 vector 형으로 주어진다.) 한 번의 pop과 한 번의 insert 작업은 1회 수행한 것으로 간주한다. 제한 사항 1 ≤ queue1의 길이 = queue2의 길이 ≤ 300,000 1 ≤ queue1의 원소, queue2의 원소 ≤ 109 주의: 언어에 따라 합 계산 과정 중 산술 오버플로우 발생 가능성이 있으므로 long type 고려가 필요합니다. 입출력 예 queue1 queue2 result [3, 2, 7, 2] [4, 6, 5, 1]..
-
[프로그래머스] 성격 유형 검사하기 c++Coding Test/programmers 2022. 8. 19. 17:33
문제 설명 나만의 카카오 성격 유형 검사지를 만들려고 합니다. 성격 유형 검사는 다음과 같은 4개 지표로 성격 유형을 구분합니다. 성격은 각 지표에서 두 유형 중 하나로 결정됩니다. 지표 번호 성격 유형 1번 지표 라이언형(R), 튜브형(T) 2번 지표 콘형(C), 프로도형(F) 3번 지표 제이지형(J), 무지형(M) 4번 지표 어피치형(A), 네오형(N) survey 원소에 따라 점수 배치가 달라진다. "AN" → 선택지 성격 유형 점수 매우 비동의 어피치형 3점 비동의 어피치형 2점 약간 비동의 어피치형 1점 모르겠음 어떤 성격 유형도 점수를 얻지 않습니다 약간 동의 네오형 1점 동의 네오형 2점 매우 동의 네오형 3점 "NA" → 선택지 성격 유형 점수 매우 비동의 네오형 3점 비동의 네오형 2점 ..
-
[프로그래머스] 소수 만들기 c++Coding Test/programmers 2022. 8. 19. 14:39
문제 설명 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. 제한 사항 nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다. nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다. 입출력 예 nums result [1,2,3,4] 1 [1,2,7,6,4] 4 풀이 다른 사람들이 푼 풀이들도 봤는데 이중for문, 삼중 for문 등등 for문을 이용해서 푼거 같았다. 나는 이 문제를 dfs로 풀었다. PrimeNum함수는 소수..
-
[프로그래머스] 없는 숫자 더하기 c++Coding Test/programmers 2022. 8. 19. 13:39
문제 설명 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한 사항 1 ≤ numbers의 길이 ≤ 9 0 ≤ numbers의 모든 원소 ≤ 9 numbers의 모든 원소는 서로 다릅니다. 입출력 예 numbers result [1,2,3,4,6,7,8,0] 14 [5,8,4,0,6,7,9] 6 풀이 0 ~ 9 까지의 합은 {n * (n+1) } / 2 공식을 사용해서 구할 수 있따. 0 ~ 9 까지의 합은 = 1 ~ 9 까지의 합과 같으므로 (9 * 10) / 2 = 45 이다. accumulate 함수를 이용하여 number..
-
[프로그래머스] 크레인 인형뽑기 c++Coding Test/programmers 2022. 8. 18. 23:26
문제 설명 n행마다 인형이 쌓여져 있다. 인형은 moves 원소로 표현된다. 주어진 moves와 board에 따라 쌓여져 있는 맨 위의 원소를 꺼내 새로운 저장소에 담는다. 이 때, 같은 인형 번호가 2개가 만나면 2개는 사라진다. 사라진 인형의 개수를 구하는 문제이다. 제한 사항 board 배열은 2차원 배열로 크기는 "5 x 5" 이상 "30 x 30" 이하입니다. board의 각 칸에는 0 이상 100 이하인 정수가 담겨있습니다. 0은 빈 칸을 나타냅니다. 1 ~ 100의 각 숫자는 각기 다른 인형의 모양을 의미하며 같은 숫자는 같은 모양의 인형을 나타냅니다. moves 배열의 크기는 1 이상 1,000 이하입니다. moves 배열 각 원소들의 값은 1 이상이며 board 배열의 가로 크기 이하인 ..
-
[프로그래머스] 키패드 누르기 c++Coding Test/programmers 2022. 8. 18. 20:46
문제 설명 1 2 3 4 5 6 7 8 9 *(10) 0(11) #(12) 1, 4, 7, *(10) 은 왼손으로 3, 6, 9, #(12) 는 오른손으로 2, 5, 8, 0(11) 은 가까이 있는 손으로 누른다. 2, 5, 8, 0(11) 를 어떤 손으로 눌러야 하는지 계산하는게 핵심인 문제이다. 제한 사항 numbers 배열의 크기는 1 이상 1,000 이하입니다. numbers 배열 원소의 값은 0 이상 9 이하인 정수입니다. hand는 "left" 또는 "right" 입니다. "left"는 왼손잡이, "right"는 오른손잡이를 의미합니다. 왼손 엄지손가락을 사용한 경우는 L, 오른손 엄지손가락을 사용한 경우는 R을 순서대로 이어붙여 문자열 형태로 return 해주세요. 입출력 예 numbers ..
-
[프로그래머스] 숫자 문자열과 영단어 c++Coding Test/programmers 2022. 8. 18. 17:16
문제 설명 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요. 제한 사항 1 ≤ s의 길이 ≤ 50 s가 "zero" 또는 "0"으로 시작하는 경우는 주어지지 않습니다. return 값이 1 이상 2,000,000,000..
-
[프로그래머스] 신규 아이디 추천 c++Coding Test/programmers 2022. 8. 18. 12:59
문제 설명 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것입니다. 다음은 카카오 아이디의 규칙입니다. 아이디의 길이는 3자 이상 15자 이하여야 합니다. 아이디는 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.) 문자만 사용할 수 있습니다. 단, 마침표(.)는 처음과 끝에 사용할 수 없으며 또한 연속으로 사용할 수 없습니다. 제한 사항 new_id는 길이 1 이상 1,000 이하인 문자열입니다. new_id..