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
- 로드 밸런서
- alb 구축
- 직무경험
- Budgets
- eip 비용
- 프라미스
- 코멘토 직무부트캠프
- aws 비용 계산
- bastion host
- 프로토타입 상속
- 코멘토 후기
- rds
- ec2 ssh 접속
- 코멘토
- 제너레이터
- 자바스크립트 클래스
- NAT 게이트웨이
- 프로토타입 미니 프로젝트
- 직무부트캠프
- private 서브넷 접속
- ec2에 apache설치
- 비동기처리
- MySQL 접속
- ec2 생성
- aws
- pricing calculator
- 직무부트캠프 후기
- 생성자 함수
- 워드프레스 매니지드
- 프리티어
Archives
- Today
- Total
기본을 충실하게
[프로그래머스] 영어 끝말잇기 본문
//sol1
function solution(n, words) {
const answer = [0, 0];
const temp = [words[0]];
let wrongNumber = 0;
for (let i = 1; i < words.length; i++) {
if (
temp.includes(words[i]) ||
temp[i - 1]?.slice(temp[i - 1].length - 1) !== words[i]?.slice(0, 1)
) {
wrongNumber = i + 1;
break;
} else {
temp.push(words[i]);
}
}
if (wrongNumber === 0) return answer;
return [
isInteger(wrongNumber / n) ? n : wrongNumber % n,
Math.ceil(wrongNumber / n),
];
}
function isInteger(number) {
return number % 1 === 0;
}
//sol2
function solution(n, words) {
let wrongPlayer = 0;
let wrongRound = 0;
let usedWords = new Set(); // Use a Set to keep track of used words
for (let i = 0; i < words.length; i++) {
if (
usedWords.has(words[i]) ||
words[i - 1][words[i - 1].length - 1] !== words[i][0]
) {
wrongPlayer = (i % n) + 1; // player number = (current index % total players) + 1
wrongRound = Math.floor(i / n) + 1; // round number = (current index / total players) + 1
break;
}
usedWords.add(words[i]);
}
return [wrongPlayer, wrongRound];
}
'알고리즘 > programmers' 카테고리의 다른 글
[프로그래머스] 예상 대진표 (0) | 2023.01.21 |
---|---|
[프로그래머스] 짝지어 제어하기 (0) | 2023.01.12 |
[프로그래머스] 다음 큰 숫자 (0) | 2023.01.11 |
[프로그래머스] 피보나치의 수 (0) | 2023.01.09 |
[프로그래머스] 숫자의 표현 (0) | 2023.01.06 |
Comments