첫문자를 숫자로 바꿔 첫문자를 기억할 i, 마지막을 기억할 j 를 만들어
j를 하나씩 문자열에 붙여가며 원문자열과 비교, 원문자열보다 길다면 시작 숫자를 1 높여서 다시
j를 높이며 원문자열과 비교, 같은 문자열이 나온다면 그때의 i j 를 출력해주면 되는 문제이다
https://www.acmicpc.net/problem/22351
let input = [];
const readline = require("readline").createInterface({
input: process.stdin,
output: process.stdout,
});
readline.on("line", (line) => {
input.push(line);
});
readline.on("close", () => {
solution(input);
process.exit();
});
const solution = (inp) => {
let str = inp[0];
let strlen = str.length;
let n = Number(str[0]);
let ans = [];
// 첫문자를 첫 시작 숫자로 잡고, 1씩 큰 수를 문자열로 붙이고 원문자열과 비교해서 첫 문자를 늘려가며 원문자와 같은 문자열을 만드는 수를 찾는다
for (let i = n; i < 1000; i++) {
let s = "";
for (let j = i; j < 1000; j++) {
s += String(j);
// 쌓은 문자열 s 와 원 문자열 str 의 길이가 같을때
if (s.length === strlen) {
// s가 원문자열과 같다면 시작 숫자와 끝 숫자를 출력하자
if (s === str) {
ans.push(i);
ans.push(j);
console.log(ans.join(" "));
return;
}
// 쌓은 문자열이 원 문자열보다 길면 시작 숫자 i 를 늘려준다
} else if (s.length > strlen) {
break;
}
}
}
};
'개발 노트 > 백준, 프로그래머스 풀이' 카테고리의 다른 글
[백준 15655/javascript] N과 M (6) (0) | 2022.09.23 |
---|---|
[백준 9733/javascript] 꿀벌 (0) | 2022.09.23 |
[백준 19844/javascript] 단어 개수 세기 (2) | 2022.09.21 |
[백준 14405/javascript] 피카츄 (0) | 2022.09.20 |
[백준 9342/javascript] 염색체 (0) | 2022.09.19 |
댓글