코딩 테스트/Level 2
38. 영어 끝말잇기
컴닥
2020. 8. 21. 15:25
반응형
https://programmers.co.kr/learn/courses/30/lessons/12981
영어 끝말잇기
Summer/Winter Coding(~2018)
2663명 완료
코딩테스트 연습 - 영어 끝말잇기
3 [tank, kick, know, wheel, land, dream, mother, robot, tank] [3,3] 5 [hello, observe, effect, take, either, recognize, encourage, ensure, establish, hang, gather, refer, reference, estimate, executive] [0,0]
programmers.co.kr
파이썬
def solution(n, words):
for i, v in enumerate(words):
if (v in words[:i]) or (words[i - 1][-1] != v[0] if i > 0 else False):
return [i % n + 1, i // n + 1]
return [0, 0]
set을 쓰는 것이 좋은 방법입니다.
자바
import java.util.HashSet;
class Solution {
public int[] solution(int n, String[] words) {
var spoken = new HashSet<String>();
spoken.add(words[0]);
for (var i = 1; i < words.length; i++) {
if (spoken.contains(words[i]) || words[i].charAt(0) != words[i - 1].charAt(words[i - 1].length() - 1))
return new int[]{i % n + 1, i / n + 1};
spoken.add(words[i]);
}
return new int[]{0, 0};
}
}
반응형