Coding Test/프로그래머스

문제설명입력 & 출력 나의 풀이import java.util.*;class Solution { public int[] solution(int n, long left, long right) { int size = (int)(right - left + 1); int[] answer = new int[size]; int idx = 0; for(long i = left ; i  이번 문제는 문제 설명에서 친절하게 설명해 주듯이 문제자체는 어렵지 않습니다. 그러나 주의해야할 점이 있는데 1 ≤ n ≤ 107 제한사항 때문입니다. 만약 n이 크면 배열의 크기가 증가하므로 n이 매우 큰 값이라면 메모리초과가 발생합니다...
문제설명입력 & 출력나의 풀이import java.util.*;class Solution { public String solution(String[] participant, String[] completion) { HashMap map = new HashMap(); StringBuilder sb = new StringBuilder(); for(int i = 0 ; i  이번 문제는 HashMap을 활용할 수 있는 문제입니다. 전체 참가자 배열과 완주자 배열이 주어지고, 완주하지 못한 사람의 이름을 반환하면 되는 문제입니다. 처음에는 HashSet을 사용하여 코드를 작성했지만 중복된 이름이 존재하는 경우 HashSet의 특성상 중복을 허용하지 않기에..
문제설명입력 & 출력나의 풀이이번 문제는 전화번호가 적인 배열 phone_book이 주어질 때 해당 전화번호 북에 한 번호가 다른 번호의 접두사 즉 시작하는 단어에 포함된다면 false를 반환하고, 없다면 true를 반환하는 문제입니다. import java.util.*;class Solution { public boolean solution(String[] phone_book) { HashSet set = new HashSet(); for(String number : phone_book){ set.add(number); } for(String number : phone_book){ ..
문제설명입력 & 출력나의 풀이 이번 문제는 끝말잇기 문제입니다. 흔히 알고 있는 끝말잇기 룰과 똑같습니다. 따라서 n명의 사람이 끝말잇기를 하는 데 이미 나온 단어를 말하거나, 앞사람의 끝말에 맞지 않은 단어를 말하면 탈락자가 발생합니다. 이때 탈락자의 번호와 차례를 반환하면 되는 문제입니다. 처음에는 이중 리스트를 사용하여 문제를 풀었지만 처음 부터 모든 단어를 n명에 맞게 리스트를 저장하면 메모리 효율에 문제가 있을 것 같아서 단어를 분기 처리하고, 리스트에 넣는 방식을 채택했습니다. 풀이를 설명하자면 다음과 같습니다. 먼저 최종 탈락자의 번호와 차례를 넣을 answer배열을 초기화해 줍니다. 그리고 단어를 저장할 list를 만들어주고, 전체 단어만큼 반복문을 순회해 줍니다. 그리고 contains(..
지누박
'Coding Test/프로그래머스' 카테고리의 글 목록 (6 Page)