뜬금 선언 먼저 하고 시작할게여ㅛ
저 코테 언어 JS로 바꿈
아니 사실 오늘 아침에 코테를 봤는데 언어가 자스로 제한된거임 !!.. 나 알고리즘에선 초면이란 말이얘,,
그래서 하루동안 벼락치기 하고
결과는 시원하게 조짐
그래서 바꿔요
는 아니고 요새 확실히 파트별로 프론트면 JavaScript, 백엔드면 JAVA 이런식으로 언어 제한 두는 기업들이 늘어나고 있는데
겸사겸사 자스 공부도 제대로 해보고 싶기도 했고, 아무래도 주로 다루는 언어로 알고리즘까지 하면 그 언어에 대해서 아는 깊이감도 생기게 되니
분명 개발할 때도 도움이 될 것 같다 판단하여 바꿉니다
...한두달 전인가에 이미 한 번 고민했다가 그냥 파이썬 하자~ 했었던 나
ㅎㅎ
사족이 길었네요 예
바로 스따뚜
문제
https://www.acmicpc.net/problem/1316
💡 접근 핵심
'그룹 단어인지 체크'하고, 이를 카운트하면 된다.
그룹 단어인지 아닌지는 한 단어를 이루는 알파벳들 중 이미 한 번 나온적 있는 알파벳이 또 등장하게 될 때, 이 타이밍을 보면 된다.
- 하나의 단어(문자열)에 대해 첫번째 알파벳부터 순회하며 배열에 담는다.
- 이때, 배열 안에 이미 있는 문자라면 담지 않고, 바로 앞에 위치한 문자와 같은지를 비교한다.
- 다르다면 이전에 나온 적 있는 문자가 연속되지 않게 재등장한 것이 되므로 그룹 단어가 아니다. 따라서 바로 false를 리턴하고 종료한다.
- 같다면 같은 문자가 연속으로 나온 것이므로 계속 진행한다.'
정답 코드
백준은 입력으로 fs 모듈을 사용하는걸 공식적으로 권장하는 것 같던데, 그래서인가 readline 쓴 풀이는 보질 못했다. 나는 readline을 사용해서 풀어보았다.
(반항심같은거 아니고 홍대병 아니고요 당장 시험봐야 했던 그 플랫폼이 fs 모듈이 사용이 안되는 것 같더라고요하하)
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let input = [];
let count = 0;
let result = 0;
rl.on("line", function (line) {
if (count === 0) {
n = Number(line);
} else {
input = [line];
if (isGroupWord(input[0])) {
console.log(isGroupWord(input[0]));
result++;
};
if (count >= n) rl.close();
}
count++;
}).on("close", function () {
console.log(result);
process.exit();
});
function isGroupWord(word) {
let alphabet = [];
for (let i = 0; i < word.length; i++) {
if (!alphabet.includes(word[i])) {
alphabet.push(word[i]);
} else if (word[i] !== word[i - 1]) {
return false
break;
}
}
return true;
}
첫 자스 후기 :
입출력이 ㄱㅟ찮단 소문이 사실이었슴
+) 코테 언어를 자스로 바꾼다는게 사실 좀 쫄렸어서 많이 망설였는데 하루 벼락치기 해 본 결과 좀만 더 해봐도 의외로 금방 익숙해질 것 같다는 생각? 그냥 꾸준히 연습이나 열심히 하자
문법도 공부할 예정 ! > 이거는 개발을 더 잘하기 위한 용으로 ...
코테에서 더 이상 발목 잡히지 않도록 지금부터라도 열 심 히 해보잣
'알고리즘 > 백준 풀이' 카테고리의 다른 글
[백준/Python] #2667 : 단지번호붙이기 - 그래프 알고리즘 (0) | 2024.05.30 |
---|---|
[백준/Python] #2217 : 로프 - 그리디 (0) | 2023.07.20 |
[백준/Python] #20115 : 에너지드링크 - 그리디 (0) | 2023.07.20 |
[백준/Python] #1343 : 폴리오미노 - 그리디 (0) | 2023.07.20 |
[백준/Python] #2839 : 설탕 배달 - 다이나믹 프로그래밍 (0) | 2023.05.25 |