Google 태그 관리자 아이콘

알고리즘 풀이

.programmers(완주하지 못한 선수)

silvergoni 2022. 4. 7. 14:53
반응형

https://programmers.co.kr/learn/courses/30/lessons/42576

 

1. 2022.04.01 시도

소요시간: -분(기억이 안남ㅠ)

import java.util.Arrays;

class Solution {
    public String solution(String[] participant, String[] completion) {
        String answer = "";
        Arrays.sort(participant);
        Arrays.sort(completion);


        for (int i=0; i<participant.length-1; i++) {
            if (participant[i].equals(completion[i])) {
                continue;
            }

            return participant[i];
        }

        return participant[participant.length-1];
    }
}

풀이 접근 과정

처음에 문제를 풀기위해서 Arrays.sort를 쓰면 자동으로 정렬되고 중간에 빠진 번호를 리턴하면 되겠다고 생각해서 풀었다.

 

느낀점

  • 다른 글들을 읽어보니 collection으로 풀어야 제대로 푼거라해서 추가로 아래 풀었다.
    • 결국 몇번 나왔는지 저장해두고 전체 completion읽으면서 체크하는 로직이다.
import java.util.*;

class Solution {
    public String solution(String[] participant, String[] completion) {
        String answer = "";

        Map<String, Integer> map = new HashMap<>();
        for (String each: completion) {
            map.put(each, map.getOrDefault(each, 0)+1);
        }
        
        for (int i=0; i<participant.length; i++) {
            String target = participant[i];
            if (map.containsKey(target) && map.get(target) != 0) {
                map.put(target, map.get(target)-1);
                continue;
            }
            
            return target;
        }
        
        return null;
    }
}

알고리즘 정리노트: .leetcode(알고리즘 문제풀이 접근)

반응형

 

'알고리즘 풀이' 카테고리의 다른 글

.programmers(위장)  (0) 2022.04.07
.programmers(전화번호 목록)  (0) 2022.04.07
.leetcode(929. Unique Email Addresses)  (0) 2022.04.01
.leetcode(885. Spiral Matrix III)  (0) 2022.03.31
.leetcode(59. Spiral Matrix II)  (0) 2022.03.31