삐주
초급 개발자
삐주
전체 방문자
오늘
어제
  • 분류 전체보기 (126)
    • Programming (14)
      • JAVA (4)
      • Spring (0)
      • Python (5)
    • Database (12)
      • Oracle (0)
      • Sybase (3)
      • HANA DB (1)
    • Algorithm (10)
      • 백준 문제풀이 (0)
      • 문제로 풀어보는 알고리즘 프로그래밍 (1)
      • 프로그래머스 (8)
    • SAP (43)
      • EAI (37)
      • EAI 예제 (1)
      • ABAP (4)
      • SAP BC (0)
    • Tool (4)
      • Eclipse (0)
    • Infra (3)
      • Network (3)
      • OS (0)
      • Storge (0)
    • Etc (21)
      • 시사 (15)
      • 맛집 (0)
    • Study (12)
      • 파이썬 머신러닝 프로젝트 (1)
      • 영어 (7)
      • 리눅스마스터 (3)
      • SQLD (0)

태그

  • pI
  • error
  • 코로나19
  • DATABASE
  • 코로나
  • 프로그래머스
  • EAI
  • sap
  • DB
  • SAP EAI

티스토리

반응형
250x250
hELLO · Designed By 정상우.
삐주

초급 개발자

Algorithm

[알고리즘 문제 풀이] 완주하지 못한 선수 [JAVA]

2020. 7. 29. 17:16
728x90
반응형

https://programmers.co.kr/learn/courses/30/lessons/42576?language=java

 

코딩테스트 연습 - 완주하지 못한 선수

수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수��

programmers.co.kr

 

#문제

 - 수많은 마라톤 선수들이 마라톤에 참여하였습니다.

   단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.

   마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열

   completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 

 

 

#1. 나의 코드

class Solution {
    public String solution(String[] participant, String[] completion) {
        String answer = "";
        int p_length = participant.length;
        int c_length = completion.length;
        int count;
        for(int i=0;i<p_length;i++){
            count = 0;
            for(int j=0;j<c_length;j++){
                if(participant[i].equals(completion[j])){
                    count++;
                    break;
                }
                
            }
            if(count==0){
                    answer += participant[i];
            }
        }
        return answer;
    }
}

 

#2. 다른 사람 코드

import java.util.*;

class Solution {
    public String solution(String[] participant, String[] completion) {
        Arrays.sort(participant);
        Arrays.sort(completion);
        int i;
        int c_len=completion.length;
        for(i=0;i<c_len;i++){
            if(!participant[i].equals(completion[i])){
                return participant[i];
            }
        }
        return participant[i];
    }
}
import java.util.HashMap;

class Solution {
    public String solution(String[] participant, String[] completion) {
        String answer = "";
        HashMap<String, Integer> hm = new HashMap<>();
        for (String player : participant) hm.put(player, hm.getOrDefault(player, 0) + 1);
        for (String player : completion) hm.put(player, hm.get(player) - 1);

        for (String key : hm.keySet()) {
            if (hm.get(key) != 0){
                answer = key;
            }
        }
        return answer;
728x90
반응형
    삐주
    삐주

    티스토리툴바