[백준/BOJ/ICPC] 16360번 Go Latin (Node js / Javascript)
2023. 10. 22. 00:05ㆍ코딩 테스트 (BOJ)
https://www.acmicpc.net/problem/16360
문제 해석
문제는 입력받은 문자열을 표를 참고해서 마지막이 English열에 해당하는 문자들 (-a, .. , -w) 로 끝나는 문자들은 매칭 되는 pseudo-Latin열의 문자들로 치환해주면 되는 간단한 문제이다.
만약 (-a, .. , -w) 로 끝나지 않는다면 뒤에 us를 붙여준다.
ICPC는 Javascript로는 풀 수 없기 때문에 아마 if문을 사용해 분기를 아주 많이 나누던가, case문을 사용하는 것이 아마 출제자의 의도였겠지만, 나는 Javascript로 푸니 객체를 이용해 English와 대응하는 라틴어를 한쌍으로 Object에 저장하는 방식으로 구현했다.
전체 코드
const fs = require("fs");
const input = fs.readFileSync("../input.txt").toString().trim().split("\n").map(item => item.replace("\r", ""));
input.shift();
var answer = [];
const obj = {
"a": "as",
"i" : "ios",
"y" : "ios",
"l" : "les",
"n" : "anes",
"ne" : "anes",
"o" : "os",
"r" : "res",
"t" : "tas",
"u" : "us",
"v" : "ves",
"w" : "was"
}
for(let i=0; i<input.length; i++){
let changed = false;
for(let [key, value] of Object.entries(obj)){
if(input[i].endsWith(key)){
let index = input[i].lastIndexOf(key);
answer.push(input[i].substring(0, index) + value);
changed = true;
}
}
if(!changed){
answer.push(input[i] + "us");
}
}
console.log(answer.join("\n"));
'코딩 테스트 (BOJ)' 카테고리의 다른 글
[백준 / BOJ] 13909번 창문 닫기 (Javascript / Node js) (0) | 2023.10.24 |
---|---|
[ICPC] Problem C - 행복 점수 (Java) (0) | 2023.10.22 |
[백준 / BOJ] 17103번 골드바흐 파티션 (Javascript / Node js) (0) | 2023.10.21 |
[백준 / BOJ] 4948번 베르트랑 공준 (Javascript / Node js) (0) | 2023.10.21 |
[백준 / BOJ] 1929번 소수 구하기 (Javascript / Node js) (0) | 2023.10.14 |