codingtest 4

폰켓몬

N 마리의 폰켓몬이 있으면 최대 N/2 마리를 데려갈수 있다. 이때 N마리중 중복이 포함되어있을수 있고 이때 가장 많은 종류의 폰켓몬을 데려갈 수있는 경우의 수를 반환하라. 어차피 중복되는 경우의 수는 빠져야하니까 배열의 중복을 없애야겠다고 생각했다. 또한 중복을 없애고 난 후의 배열의 크기가 최대 경우의 수와 같다고 생각했다. 주어진 N을 2로 나눈값의 갯수의 포켓몬만 데려갈수있다는 점에서 중복을 제거한 배열의 값의 사이즈 > N의 크기/2 의 값 이 되면 N의 크기/2가 최대 경우의 수라고 생각했다. import java.util.HashSet; import java.util.ArrayList; class Solution { public int solution(int[] nums) { int answ..

CT 2022.05.26

신규아이디 추천

카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게되었다. 주어진 임무는 새로 가입하는 유저들이 아이디 규칙이 맞지 않는 아이디를 입력했을 시, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램 개발 프로그램은 아래 7단계를 거쳐야 한다. new_id의 모든 대문자를 대응되는 소문자로 치환합니다. new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거 합니다. new_id에서 마침표(.)가 2번 이상 연속된 부분을 하나의 마침표(.)로 치환합니다. new_id에서 마침표(.)가 처음이나 끝에 위치한다면 제거합니다. new_id가 빈 문자열이라면, new_id에 "a"를 대입합니다. new_id의 길이가 16..

CT 2022.04.19

완주하지 못한 선수(해시)

코딩테스트 후 오답노트 식으로 작성해보려 한다. 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 난 처음에 일단 participant의 값 중 completion에 포함 되어 있지 않는 값을 뽑아 냈다. 이렇게 되면 1, 2번 예제와 같은 경우는 잘 통과 할수 있으나 3번과 같은 중복 되었을 경우 실패한다. 따라서 나는 for문으로 part와 comp안에서 미리 비교된 값은 comp배열에서 빈값으로 만들어..

CT 2022.04.14