반응형
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
** Javascript
function solution(seoul) {
return `김서방은 ${seoul.indexOf("Kim")}에 있다`;
}
노마드코더가 알려준 sexy javascript backticks 사용!
** Python
파이썬은 세 가지 방법이 있다. 방법마다 특징이 있다.
1)
def solution(seoul):
return "김서방은 " + str(seoul.index("Kim")) + "에 있다"
- 속도가 가장 빠름
- 메모리 가장 적게 차지함
2)
def solution(seoul):
return ('김서방은 %d에 있다' %seoul.index('Kim'))
- 속도가 가장 느림
- 메모리 두번째로 적게 잡아 먹음
3)
def solution(seoul):
return "김서방은 {}에 있다".format(seoul.index('Kim'))
- 속도는 두 번째
- 메모리 가장 많이 잡아 먹음
** Java
Java도 세 가지 방법이 있고 각 방법마다 특징이 있다.
1)
import java.util.*;
class Solution {
public String solution(String[] seoul) {
return "김서방은 " + Arrays.asList(seoul).indexOf("Kim") + "에 있다";
}
}
- 시간 오래 걸림
- 메모리도 전반적으로 많이 차지함
2)
class Solution {
public String solution(String[] seoul) {
for (int i = 0; i < seoul.length; i++) {
if (seoul[i].equals("Kim")) {
return "김서방은 " + i + "에 있다";
}
}
return "";
}
}
- 속도 제일 느림
- 메모리는 1보다는 나으나 그래도 많이 차지함
3)
import java.util.*;
class Solution {
public String solution(String[] seoul) {
return String.format("김서방은 %d에 있다", Arrays.asList(seoul).indexOf("Kim"));
}
}
- 셋 중 가장 빠름
- 메모리도 전반적으로 셋 중 덜 차지함
4) (번외) 2와 3을 활용
class Solution {
public String solution(String[] seoul) {
for (int i = 0; i < seoul.length; i++) {
if (seoul[i].equals("Kim")) {
return String.format("김서방은 %d에 있다", i);
}
}
return "";
}
}
- 속도 준수하나 3번보다는 느림
- 메모리는 3번과 비슷
반응형
'프로그래머스 > level 1' 카테고리의 다른 글
[프로그래머스] 실패율 (0) | 2021.08.23 |
---|---|
[프로그래머스] 소수 찾기 (0) | 2021.08.23 |
[프로그래머스] 수박수박수박수박수박수? (0) | 2021.08.23 |
[프로그래머스] 문자열을 정수로 바꾸기 (0) | 2021.08.23 |
[프로그래머스] 약수의 합 (0) | 2021.08.14 |