Programmers

🔒 문제 💭 생각의 흐름 1. 맨 첫글자로 group을 나누어 9..0 역순으로 훑는다. 2. 각 라운드를 돌며 중복 없이 가장 큰수가 하나 나올때 마다 이어붙인다. roundArray = [3, 34, 3411, 3434, 3413, 345] 1라운드 : 3 3 3 3 3 3 3 2라운드 : 3 4 4 4 4 4 3라운드 : 3 3 1 3 1 5 4라운드 : 3 4 1 4 3 ... 😵‍💫 실수 1. 위 방법에서 중복이 있을 경우 해당 숫자만 후보로 남기고 라운드를 또 따로돌려야한다. -> 재귀를 써야함. 2. 모든 숫자가 0이 올 경우 출력은 0이다. ex) [0, 0, 0, 0] -> 0 (※ 결과를 string으로 반환할 뿐 어쨌든 가장 큰 정수 변환하여 출력해야한다.) 🔐 잘못된 풀이 (Kotl..
🔒 문제 💡 생각의 흐름 (1) 아, 유클리드 호제법 GCD (최대공약수) 함수 작성해서 최소공배수 바로 구해보리기 하면 되겠군. 최대공약수 공식 알고리즘은 요기서 최대공약수 알고리즘 Greatest Common Divisor Problem 임의의 자연수 n, m (단, n > m) 에 대한 최대공약수? Input 자연수 n, m Output Largest D s.t n % D and m % D == 0 s.t: Search That의 약자. [1] n-gcd 가장 생각하기 쉬운.. m-falcon.tistory.com (2) 오름 정렬해서 쪼꼬만 애들끼리 만든 최소공배수로 뒷놈들 다 검사해보는 식으로 해야겠군 🔑풀이 (Kotlin) class Solution { fun gcd (a: Int, b: In..
🔒 문제 💡 생각의 흐름 1,2,4 3개의 숫자만으로 한 자리씩 표현 총 자릿수는 3^N + 3^N-1 + 3^N-2 .... 3^0 => N+1 의 문자열 길이를 갖는다. 군 내에서 N번째 숫자를 3^N * n + 3^N-1 * n ... N+1 만큼 loop을 돌고 n을 이어붙이면 된다고 생각했다. 먼저, 10진수 -> 124나라의 숫자가 바로 생각나지 않으니 124나라의 숫자 -> 10진수변환을 곱씹어 보았다. 예를들면 10진수 '241' 3^2 * 2 + 3^1 * 4 + 3^0 * 1 >[0단계] 3마다 단위가 바뀌는 걸로 봐서 3진법!!!!!?!?!?! 근데 숫자 0과 4를 따로 처리해야겠네? [1단계] 124나라의 숫자의 길이 == 3^1 + 3^2 + 3^3 + .... 3의 제곱수의 누적..
문제 실수 대놓고 서로 다른 '조합'의 수를 구하는 문구에서 기계적으로 Combination을 떠올렸다. 옷의 갯수 까지의 모든 Combination 조합을 합하면 답이 도출되지 않을까? 하고 생각했다. 예를 들어 위의 예제대로 하면 얼굴(2) - 상의(1) - 하의(1) - 겉옷(1) 5C1 + 5C2 - 1(얼굴 2개만 뽑는 경우의수 ) + 5C3 - 3 (얼굴 2개 + 나머지 1조합 경우의수) + 5C4 - 3 (얼굴 2개 + 2개 조합 경우의수) ------ 이런 식으로하니 일반식이 도출되지 않았다. 아이디어 조합의 수를 구하라 했지만 옷을 하나이상 걸친 모든 경우의 수를 구하는 문제였다. 각 옷의 종류마다 옷을 입는 경우의 수를 나눠서 표현하면 얼굴 -> 입지 않음 , 동그란 안경 , 검정 선글..
1. 문제 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr ⭐ 카카오 2019 블라인드 공개채용 기출문제 2. 실수 loop을 2번 중첩했다가 시간초과로 75점을 맞았다. loop 2중첩 시나리오는 다음과 같았다. 아이디 - 닉네임이 매핑되어야 한다는 사실로부터 (1) 중복을 제거한 아이디 목록 Set (집합) (2) Set element 수 == 회원수 만큼 loop (3) (2) loop 안에서 record 로그 수만큼 또 loop (2) + (3) => Time Complexity O(N^2) => 시간..
문제 해결 방법 문제를 읽자마자 "전체 참가자 Set - 완주자 Set 으로 풀면 되겠다!"고 생각했고 멋지게 틀렸다. 제한 사항에 다음과 같은 문장이 있다. 참가자 중에는 동명이인이 있을 수 있습니다. * Set은 '중복'을 허용하지 않는 자료구조이기 때문에 동명이인 처리가 불가능하다. 내 아이디어는 이렇다. HashMap 를 생성하여 동명이인 수 '1명' 이 되는 사람의 이름을 구하자. 구현 (Java)
M_Falcon
'Programmers' 태그의 글 목록