반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 프로그래머스
- DP
- 삼성
- BFS
- 코딩테스트
- 자바스크립트
- Backjoon
- SWEA
- 자료구조
- 파이썬
- 스택
- 싸피
- 코테
- kakao
- algorithm
- SW역량테스트
- Python
- 그래프
- SSAFY
- 카카오
- 알고리즘
- Blind
- boj
- DFS
- 백준
- 다이나믹프로그래밍
- 힙큐
- 완전탐색
- sort
- javascript
Archives
- Today
- Total
맞왜틀
[JavaScript] 프로그래머스 - 영어 끝말잇기(Summer/Winter Coding(~2018)) 본문
Algorithm Problem/JavaScript
[JavaScript] 프로그래머스 - 영어 끝말잇기(Summer/Winter Coding(~2018))
deo2kim 2020. 7. 26. 23:55반응형
문제 해결
1. 앞단어의 뒷글자와 뒷단어의 앞글자를 비교하며 맞는지 확인하고
2. 사용한 단어는 따로 배열에 담아두고 확인한다.
3. 조건에 맞지 않는다면 게임을 종료
🌦 배열을 인덱싱하는 문제
🐱🏍 배열이나 스트링의 맨 뒤 인덱스를 선택하는 방법
파이썬에서는 보통 list[-1] 로 맨뒤 인덱스를 선택할 수 있으나
자바스크립트에서는 array[array.length - 1] 로 맨뒤 인덱스를 선택한다.
소스 코드
function solution(n, words) {
var answer = [0, 0];
// 이미 사용한 단어를 넣을 배열
var usedWords = []
// 1번 플레이어부터 시작
usedWords.push(words[0])
for (let i = 1; i < words.length; i++) {
var beforeWord = words[i-1]
var currentWord = words[i]
// 이전단어의 맨 뒷글자와 현재단어의 맨 앞글자가 같고
// 이전에 사용한적이 없는 단어라면
if (beforeWord[beforeWord.length - 1] == currentWord[0]
&& usedWords.indexOf(currentWord) == -1) {
// 계속 게임을 진행
usedWords.push(currentWord)
} else {
// 그게 아니라면 몇번째 턴인지, 몇번째 플레이어 인지 계산해서 리턴해준다.
var turn = parseInt(i / n) + 1
var player = i % n + 1
return answer = [player, turn]
}
}
return answer;
}
console.log(solution(3, ['tank', 'kick', 'know', 'wheel', 'land', 'dream', 'mother', 'robot', 'tank'])); // [3,3]
출처: 프로그래머스
문제: https://programmers.co.kr/learn/courses/30/lessons/12981?language=javascript
코딩테스트 연습 - 영어 끝말잇기
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
반응형
'Algorithm Problem > JavaScript' 카테고리의 다른 글
| [JavaScript] 프로그래머스 - 베스트앨범 (0) | 2020.08.01 |
|---|---|
| [JavaScript] 프로그래머스 - 프린터 (0) | 2020.07.28 |
| [JavaScript] 프로그래머스 - 기능개발 (0) | 2020.07.25 |
| [JavaScript] 프로그래머스 - 체육복 (0) | 2020.07.25 |
| [JavaScript] 프로그래머스 - 문자열을 정수로 바꾸기/ 서울에서 김서방찾기/ 같은 숫자는 싫어/ 문자열 내 p와 y의 개수 (0) | 2020.07.23 |