본문 바로가기

Algorithm/Programmers37

[Weekly Challenge] 5주차_모음사전 (python, swift) 코딩테스트 연습 - 5주차_모음사전 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니 programmers.co.kr 풀이 words 배열에 모음의 순서대로 담아둔다. 그리고 재귀를 돌면서 입력받은 단어가 몇 번째에 있는지를 탐색한다. 재귀를 도는 과정은 다음 처럼 진행된다. "A" → "AA" → "AAA" → "AAAA" → "AAAAA" 그 후 현재 단어의 길이가 5가 됐으므로 중간에 탐색이 종료된다. 그럼 이제 "AAAA"에 모음의 두 번째 단어인 "E"가 붙어 "AAAAE"가 된다. 함수가 한 번 호출될때마다 cnt.. 2021. 10. 11.
[Weekly Challenge] 2주차_상호평가 (python, swift) 코딩테스트 연습 - 2주차_상호평가 [[100,90,98,88,65],[50,45,99,85,77],[47,88,95,80,67],[61,57,100,80,65],[24,90,94,75,65]] "FBABD" [[70,49,90],[68,50,38],[73,31,100]] "CFD" programmers.co.kr 풀이 먼저 각 학생 별로 얻은 총 점수의 배열을 만든다. 그 후 배열을 돌면서 각 학생 별로 최고 점수, 최저 점수, 점수의 총합을 구한다. 최고 점수나 최저 점수가 자기 자신한테 준 점수와 같을 경우 해당 점수를 제외하는 과정을 거쳐서 등급을 산출하면 된다. 코드 Python # 점수에 따른 학점 부여 함수 def gradeCheck(score): if score >= 90: return '.. 2021. 10. 10.
[2019 KAKAO BLIND RECRUITMENT] 실패율(JAVA) 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스�� programmers.co.kr 우선순위큐를 활용해서 실패율이 높은 순서대로 정렬하고 실패율이 같을 경우 스테이지가 낮은 순서대로 정렬될 수 있도록 하였다. 각 스테이지에 도달한 사람과 실패한 사람의 숫자는 Stage의 역순으로 for문을 돌면서 구해줬다. 예제 1로 살펴보면 다음과 같다. 실패율은 Stage에 도달한 사람의 수 / Sum으로 계산하면 된다. ※ Sum이 0일 경우의 예외 처리를 해주자! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 .. 2020. 9. 11.
[2019 KAKAO BLIND RECRUITMENT] 오픈채팅방(JAVA) 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 import java.util.HashMap; import java.util.Map; import java.util.StringTokenizer; public class 오픈채팅방 { public String.. 2020. 9. 11.
[2020 KAKAO BLIND RECRUITMENT] 자물쇠와 열쇠 (JAVA) 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr 먼저 key의 돌기 부분(1) 좌표를 저장하고 lock의 홈 부분(0)의 좌표를 저장해뒀다. 예제의 key 돌기 부분 좌표 : (1,0) (2,1) (2,2) 예제의 lock 홈 부분 좌표 : (1,2) (2,1) 이제 다음과 같이 진행한다. 1. key의 돌기 좌표를 반복문을 이용해 하나를 선택해서 lock의 홈 좌표 위치중 하나에 맞춘다. ex. (1,0)을 (1,2)에 맞추기 위해서 x좌표는 +0, y좌표는 +2 해주면 된다. ps. (1,0) -> (1,2) (+0,+2) / (1,0) -> (2,1) .. 2020. 9. 9.
[2020 KAKAO BLIND RECRUITMENT] 괄호변환 (JAVA) 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴� programmers.co.kr 용어의 설명대로 재귀함수를 만들면 어렵지 않게 풀 수 있는 문제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 public clas.. 2020. 9. 8.