반응형
문제
https://school.programmers.co.kr/learn/courses/30/lessons/12919?language=java
- 소요 시간 : 5분
- 난이도 : LV 1
나의 풀이
접근 방법
인덱스를 찾는 문제.
List의 indexOf를 사용하기 위해 asList로 변환하였다.
코드
import java.util.*;
class Solution {
public String solution(String[] seoul) {
int idx = Arrays.asList(seoul).indexOf("Kim");
String answer = "김서방은 " + idx + "에 있다";
return answer;
}
}
결과 : 정답
테스트 1 〉 | 통과 (5.49ms, 81.1MB) |
테스트 2 〉 | 통과 (5.54ms, 74.7MB) |
테스트 3 〉 | 통과 (5.42ms, 67.8MB) |
테스트 4 〉 | 통과 (5.44ms, 84.2MB) |
테스트 5 〉 | 통과 (5.62ms, 75.7MB) |
테스트 6 〉 | 통과 (5.52ms, 75.1MB) |
테스트 7 〉 | 통과 (5.59ms, 77.8MB) |
테스트 8 〉 | 통과 (6.62ms, 81.7MB) |
테스트 9 〉 | 통과 (8.16ms, 79MB) |
테스트 10 〉 | 통과 (6.17ms, 74.3MB) |
테스트 11 〉 | 통과 (6.40ms, 79MB) |
테스트 12 〉 | 통과 (8.19ms, 74.8MB) |
테스트 13 〉 | 통과 (6.71ms, 86.6MB) |
테스트 14 〉 | 통과 (7.03ms, 77MB) |
다른 사람의 풀이
접근 방법
foreach 문을 이용한다.
코드
import java.util.*;
class Solution {
public String solution(String[] seoul) {
int x = 0;
for(String value: seoul) {
if (value.equals("Kim")) break;
x++;
}
return "김서방은 "+ x + "에 있다";
}
}
결과 : 정답
테스트 1 〉 | 통과 (5.86ms, 77.9MB) |
테스트 2 〉 | 통과 (6.83ms, 82.9MB) |
테스트 3 〉 | 통과 (6.52ms, 77.7MB) |
테스트 4 〉 | 통과 (5.51ms, 78.6MB) |
테스트 5 〉 | 통과 (5.90ms, 80.2MB) |
테스트 6 〉 | 통과 (7.18ms, 81MB) |
테스트 7 〉 | 통과 (5.85ms, 76MB) |
테스트 8 〉 | 통과 (6.96ms, 77.9MB) |
테스트 9 〉 | 통과 (5.69ms, 75.4MB) |
테스트 10 〉 | 통과 (5.39ms, 73MB) |
테스트 11 〉 | 통과 (10.54ms, 75.2MB) |
테스트 12 〉 | 통과 (6.83ms, 75MB) |
테스트 13 〉 | 통과 (8.16ms, 78.3MB) |
테스트 14 〉 | 통과 (6.87ms, 84.5MB) |
접근 방법
StringBuilder를 이용한다.
코드
import java.util.*;
import java.lang.StringBuilder;
class Solution {
public String solution(String[] seoul) {
int x = 0;
for(String value: seoul) {
if (value.equals("Kim")) break;
x++;
}
return new StringBuilder("김서방은 ").append(x).append("에 있다").toString();
}
}
결과 : 정답
테스트 1 〉 | 통과 (0.09ms, 94.2MB) |
테스트 2 〉 | 통과 (0.06ms, 80MB) |
테스트 3 〉 | 통과 (0.05ms, 73.2MB) |
테스트 4 〉 | 통과 (0.05ms, 76.7MB) |
테스트 5 〉 | 통과 (0.05ms, 75.3MB) |
테스트 6 〉 | 통과 (0.04ms, 73.7MB) |
테스트 7 〉 | 통과 (0.08ms, 74.8MB) |
테스트 8 〉 | 통과 (0.04ms, 71.6MB) |
테스트 9 〉 | 통과 (0.11ms, 75.8MB) |
테스트 10 〉 | 통과 (0.05ms, 73.1MB) |
테스트 11 〉 | 통과 (0.05ms, 78.6MB) |
테스트 12 〉 | 통과 (0.05ms, 75MB) |
테스트 13 〉 | 통과 (0.07ms, 73.4MB) |
테스트 14 〉 | 통과 (0.10ms, 80.1MB) |
정리
리스트로 변환하면 메모리를 할당하기 때문에 공간적 손해라는 의견이 있어서 for문을 이용하는 방법도 참고해보았다.
StringBuilder를 이용하니 속도가 확연히 빨라짐을 알 수 있었다.
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스] H-Index - Java (1) | 2024.11.14 |
---|---|
[프로그래머스] 연도별 대장균 크기의 편차 구하기 - MySQL (2) | 2024.11.13 |
[프로그래머스] ROOT 아이템 구하기 - MySQL (0) | 2024.11.09 |
[프로그래머스] 조건에 맞는 사원 정보 조회하기 - MySQL (0) | 2024.11.07 |
[소프티어] 함께하는 효도 - Java (2) | 2024.11.01 |