프로그래머스의 문자열을 정수로 바꾸기 문제를 풀어보았습니다.

 

링크

https://school.programmers.co.kr/learn/courses/30/lessons/12925

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제

 

풀이

Integer.parseInt 함수를 사용하여 풀었습니다.
해당 함수에는 첫 번째 문자가 마이너스(-) 기호라면 마이너스 값으로 반환해주고 있습니다.
그렇기 때문에 해당 함수를 사용한다면 맨 앞에 마이너스(-) 기호 걱정없이 정수로 바꿀 수 있습니다.

public int solution(String s) {
    return Integer.parseInt(s);
}

 

후기

* 난이도 (5점 만점)

5 : 풀 줄 알면 기업 코딩 테스트는 문제없음.

4 : 평균적인 기업 코딩 테스트의 중간 이상.

3 : 평균적인 기업 코딩테스트의 쉬운 문제.

2 : 알고리즘 문제를 연습하고 있다면 풀 수 있는 문제.

1 : 시간이 오래 걸리지 않고, 누구나 풀 수 있는 문제.

 

[프로그래머스] 문자열을 정수로 바꾸기 문제는 어렵지 않습니다.
문제를 푼 사람들 중에서는 Integer.parseInt 함수를 사용하지 않고 푸는 분들도 있습니다.
Integer.parseInt 함수 내부를 확인하시면 참고가 됩니다.

프로그래머스의 완주하지 못한 선수를 풀어보았다.

 

링크

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제

 

풀이


참여자 명단과 완주자 명단을 비교하여 완주하지 못한 선수를 찾으면 됩니다.
변수에 참여자를 저장하고 완주는 제거해주면 마지막에 남아있는 선수가 완주하지 못한 선수입니다.

playerCheck 함수에 기능을 구현했습니다.

public void playerCheck(HashSet<String> set, String[] players) {
    for (String p : players) {
        if (set.contains(p)) {
            set.remove(p);
            continue;
        }
        set.add(p);
    }
}

 

매개변수를 받으면 playerCheck 함수를 사용하여 완주하지 못한 선수를 선별합니다.

public String solution(String[] participant, String[] completion) {
    String answer = "";
    HashSet<String> set = new HashSet<>();
    playerCheck(set, participant);
    playerCheck(set, completion);
    answer = set.toString();
    return answer.substring(1, answer.length()-1);
}

 

 

전체코드

public void playerCheck(HashSet<String> set, String[] players) {
    for (String p : players) {
        if (set.contains(p)) {
            set.remove(p);
            continue;
        }
        set.add(p);
    }
}

public String solution(String[] participant, String[] completion) {
    String answer = "";
    HashSet<String> set = new HashSet<>();
    playerCheck(set, participant);
    playerCheck(set, completion);
    answer = set.toString();
    return answer.substring(1, answer.length()-1);
}

 

후기

* 난이도 (5점 만점)

5 : 풀 줄 알면 기업 코딩 테스트는 문제없음.

4 : 평균적인 기업 코딩 테스트의 중간 이상.

3 : 평균적인 기업 코딩테스트의 쉬운 문제.

2 : 알고리즘 문제를 연습하고 있다면 풀 수 있는 문제.

1 : 시간이 오래 걸리지 않고, 누구나 풀 수 있는 문제.

 

[프로그래머스] 완주하지 못한 선수를 Arrays.sort 함수를 이용하여 반복문을 돌리면 쉽게 풀었지만
해쉬 문제였기 때문에 해쉬로 다시 풀었다.
둘 다 해보는 것 추천

+ Recent posts