[프로그래머스] 영어끝말잇기(javascript)

프린이·2020년 11월 23일
5
post-thumbnail
  • 제 코드는 최선의 방안은 아닙니다!
  • 단순히 기록용, 공유용이니 이 점 보실 때, 참고바랍니다!

🔗 문제 링크

https://programmers.co.kr/learn/courses/30/lessons/12981

📝 답안 코드

function solution(n, words) { // O
    var answer = [0,0];
    var lastChar;
    var remember = [];
    
    for(var i = 0; i < words.length; i++){
        if(i > 0){
            var tmp = words[i].split("");
            if(tmp[0] == lastChar){
				// 이미 말했던 단어 중복 사용
                if(remember.includes(words[i])){ 
                    answer[0] = (i % n) + 1;
                    answer[1] = Number.parseInt(i / n) + 1;
					return answer;
                }else{
		            lastChar = tmp[words[i].length - 1];
		            remember.push(words[i]);
				}
            }else{ //끝말잇기 실패
                answer[0] = (i % n) + 1;
                answer[1] = Number.parseInt(i / n) + 1;
				return answer;
            }
        }else{// 첫번째 단어는 끝말잇기 검사안하고 맨끝단어가 무엇인지만 확인
            var tmp = words[0].split("");
            lastChar = tmp[words[0].length - 1];
            remember.push(words[0]);
        }
    }
	
	//모두 끝말잇기 성공 시 return
	return answer;
} 
profile
주니어 프론트엔드개발자

12개의 댓글

comment-user-thumbnail
2020년 11월 24일

코드가 제법 깔끔하네요 ^^

1개의 답글
comment-user-thumbnail
2020년 11월 24일

장미꽃 한송이 @----------->------------

1개의 답글
comment-user-thumbnail
2020년 11월 24일

정말 많은 도오후움이 되었어요 : )

1개의 답글
comment-user-thumbnail
2020년 11월 24일

안녕하세요! 코드를 참고 중에 질문이 생겨서 글 남겨요!
혹시 중간에 Number.parseInt 는 왜 사용해야하나요??ㅜㅜ

1개의 답글
comment-user-thumbnail
2020년 11월 27일

JS를 잘 몰라서 그러는데, remember 배열 대신 Set을 안 쓰신 이유가 있나요?

1개의 답글