코딩테스트/코딩테스트 문제
코딩테스트 준비 - 프로그래머스Lv2: 영어 끝말잇기 풀이 (파이썬)
공부가싫다가도좋아
2021. 7. 6. 11:27
반응형
프로그래머스: 영어 끝말잇기 풀기
문제풀러가기
https://programmers.co.kr/learn/courses/30/lessons/12981?language=python3
코딩테스트 연습 - 영어 끝말잇기
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
문제 분석
1. 같은 단어가 나올시 탈락
2. 뒤 글자가 앞글자와 같지 않은것을 말했을시 탈락
코드
def solution(n, words):
rs=[]
for i in words:
if i in rs:
break
if len(rs)!=0 and (rs[-1][-1]!=i[0]):
break
rs.append(i)
if len(rs)==len(words):
return [0,0]
return [(len(rs)%n)+1, (len(rs)//n)+1]
코드 풀이
def solution(n, words):
rs=[]
for i in words:
if i in rs: #같은 단어를 말했을때
break
if len(rs)!=0 and (rs[-1][-1]!=i[0]): # 앞단어의 뒷부분과 일치하지 않은 단어를 말했을때
break
rs.append(i)
if len(rs)==len(words): # 문제없이 진행됐을시
return [0,0]
return [(len(rs)%n)+1, (len(rs)//n)+1]
정리된 코드
def solution(n, words):
for i in range(1,len(words)):
if words[i] in words[:i] or words[i][0]!=words[i-1][-1]:
return [(i%n)+1,(i//n)+1]
return [0,0]
<잡담>
오늘은 조금 피곤해서 힐링되는 문제로 골랐다😩
이런 문제 너무 좋은데, 이런 문제만 가득했으면 좋겠당... 😭
반응형