🔗 문제 링크 코딩테스트 연습 - 모음사전 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니 programmers.co.kr 📖 풀이 과정 - 규칙을 이해하는 과정이 많이, 오래, 걸렸던 구현 유형의 문제입니다. - 다른 분들 풀이를 보니, 재귀로 푼 분들도 있었습니다. - 'A'는 1번, 'AA'는 2번, 'AAA'는 3번, ... , 'AAAAE'는 6번, 'I'는 1563번, 'EIO'는 1189번 입니다. - 모음은 'AEIOU' 5개로 고정되어있습니다. 또한 주어지는 문자열의 길이는 5 이하입니다. - 따라서, 마지..
🔗 문제 링크 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 📖 풀이 과정 - 구현유형의 문제입니다. - substring() 메소드와 인덱스에 대한 고민이 필요합니다. - substring(int start, int end) 메소드는 start인덱스부터 end - 1 인덱스까지의 문자열을 반환합니다. - 문자열의 경우는 다양하므로 이를 모두 충족시켜야 합니다. - 먼저, 주어지는 문자열의 길이가 1일 경우에는 1을 반환해야 합니다. - 여러번 압축하다 마지막 문자열이 압축이 안되면, 진행중인 Str..
🔗 문제 링크 코딩테스트 연습 - 단체사진 찍기 단체사진 찍기 가을을 맞아 카카오프렌즈는 단체로 소풍을 떠났다. 즐거운 시간을 보내고 마지막에 단체사진을 찍기 위해 카메라 앞에 일렬로 나란히 섰다. 그런데 각자가 원하는 배치가 모두 programmers.co.kr 📖 풀이 과정 - 브루트 포스 유형의 문제입니다. - 문제의 흐름은 다음과 같습니다. - 먼저 재귀를 이용해 모든 경우의 수를 구합니다. - 구한 경우마다 조건에 충족하면 answer + 1, 그렇지 않으면 answer 변수를 그대로 둡니다. - 그렇기에 먼저 모든 경우를 구하는 것부터 시작해야 합니다. - 저는 재귀를 이용해 구했습니다. - visited라는 boolean 1차원 배열을 선언했으며 for문을 돌면서 체크했습니다. - 조건을 확..
🔗 문제 링크 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 📖 풀이 과정 - 문자열을 순회하며 해당하는 값이 있을 경우를 찾는 구현 문제입니다. - 문제를 풀기 위해 가장 중요한 부분은 반복문의 인덱스 값을 잘 조절해야 하는 것입니다. - 먼저 getNumber() 메소드를 통해 해당하는 문자열이 나온다면 숫자를 반환하도록 했습니다. - 이중 for문을 구현하며 내부의 반복문은 외부의 반복문의 인덱스보다 +1 한 값을 기준으로 정했습니다. - substring() 메소드를 주로 이용했기 때문에 ..
🔗 문제 링크 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 📖 풀이 과정 - 배열, 자료구조를 활용한 구현 유형의 문제입니다. - A 사람이 B 사람에 대해 여러번 신고를 하더라도 한 번만 기록됩니다. - 따라서, 저는 매개변수로 받는 report 배열을 set 자료구조를 이용하여 중복을 제거하고 시작했습니다. - 중복이 제거된 report 배열을 순회하며 신고를 당한 사람을 map 자료구조에 넣고 빈도수를 저장합니다. - 여기서는 map.getOrDefault() 메소드를 활용했습니다. - 다음 ..
🔗 문제 링크 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 📖 풀이 과정 - 조건에 충족하게 구현하는 문제입니다.(카카오 기출 문제입니다.) - 조건을 보시면 조건 1부터 4는 문자열이 있을 때의 조건입니다. 조건 5부터는 문자열이 없을 경우를 대비한 것이구요. - 그러므로 저는 조건 1 이전에 문자열이 있을 경우라는 조건문을 추가했습니다. - 조건 1 - 소문자로 치환하는 부분이기에 toLowerCase() 메소드를 사용하면 됩니다. - 조건 2 - "~~를 제외한 모든 문자를 제거한다" 이지만 ..