Question
๋ฐฑ์ค 2675๋ฒ : ๋ฌธ์์ด ๋ฐ๋ณต
๋ฌธ์์ด S๋ฅผ ์ ๋ ฅ๋ฐ์ ํ์, ๊ฐ ๋ฌธ์๋ฅผ R๋ฒ ๋ฐ๋ณตํด ์ ๋ฌธ์์ด P๋ฅผ ๋ง๋ ํ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ฆ, ์ฒซ ๋ฒ์งธ ๋ฌธ์๋ฅผ R๋ฒ ๋ฐ๋ณตํ๊ณ , ๋ ๋ฒ์งธ ๋ฌธ์๋ฅผ R๋ฒ ๋ฐ๋ณตํ๋ ์์ผ๋ก P๋ฅผ ๋ง๋ค๋ฉด ๋๋ค. S์๋ QR Code "alphanumeric" ๋ฌธ์๋ง ๋ค์ด์๋ค.
QR Code "alphanumeric" ๋ฌธ์๋ 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: ์ด๋ค
2675๋ฒ: ๋ฌธ์์ด ๋ฐ๋ณต
๋ฌธ์์ด S๋ฅผ ์ ๋ ฅ๋ฐ์ ํ์, ๊ฐ ๋ฌธ์๋ฅผ R๋ฒ ๋ฐ๋ณตํด ์ ๋ฌธ์์ด P๋ฅผ ๋ง๋ ํ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ฆ, ์ฒซ ๋ฒ์งธ ๋ฌธ์๋ฅผ R๋ฒ ๋ฐ๋ณตํ๊ณ , ๋ ๋ฒ์งธ ๋ฌธ์๋ฅผ R๋ฒ ๋ฐ๋ณตํ๋ ์์ผ๋ก P๋ฅผ ๋ง๋ค๋ฉด ๋๋ค
www.acmicpc.net
์ ๋ ฅ
์ฒซ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ T(1 ≤ T ≤ 1,000)๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ๋ฐ๋ณต ํ์ R(1 ≤ R ≤ 8), ๋ฌธ์์ด S๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด ์ฃผ์ด์ง๋ค. S์ ๊ธธ์ด๋ ์ ์ด๋ 1์ด๋ฉฐ, 20๊ธ์๋ฅผ ๋์ง ์๋๋ค.
์ ๋ ฅ์์
2
3 ABC
5 /HTP
์ถ๋ ฅ์์
AAABBBCCC
/////HHHHHTTTTTPPPPP
My Code
Vscode์์๋ ๋์์ด ๋์๋ ์ฝ๋๊ฐ ๋ฐฑ์ค์ ์ ์ถํ๋๊น ๋ฐํ์ ์๋ฌ์ ์ถ๋ ฅ ์ด๊ณผ๊ฐ ๋ด๋ค.
์๋๋ ์ถ๋ ฅ ์ด๊ณผ๊ฐ ๋์จ ์ฝ๋์ด๋ค.
let input = require('fs').readFileSync('dev/stdin').toString().trim().split('\n');
let length = Number(input[0]);
let answer = '';
for (let i = 1 ; i <= length; i ++) {
let arr = input[i].split(' ');
let str = arr[1];
for (let j = 0; j < arr[1].length; j++ ) {
answer += str[j].repeat(arr[0])
}
console.log(answer);
}
WHY?
์ถ๋ ฅ ์ด๊ณผ๊ฐ ์ ๋์ฌ๊น?
๊ตฌ๊ธ๋ง์ ํตํด ๋ค๋ฅธ ๋ฌธ์ ์์ ์ถ๋ ฅ์ด๊ณผ์ ๋ํ ์์ธํ ์ ์์ ์ด์ ๋ฅผ ์ ์ ์์๋ค.
๊ธ ์ฝ๊ธฐ - [ํ์ด์ฌ] ์ถ๋ ฅ์ด๊ณผ์ ๋๋ค. ํ๋ฆฐ๊ณณ ์๋ ค์ฃผ์ธ์ใ ใ !
๋๊ธ์ ์์ฑํ๋ ค๋ฉด ๋ก๊ทธ์ธํด์ผ ํฉ๋๋ค.
www.acmicpc.net
์ถ๋ ฅ์ด๊ณผ
ํ๋ก๊ทธ๋จ์ด ๋๋ฌด ๋ง์ ์ถ๋ ฅ์ ํ ๊ฒฝ์ฐ ๋ฐ์, ํ๋ ธ์ต๋๋ค์ ๊ฐ์ ์๋ฏธ
๋ฏธ๋ฆฌ ๊ตฌํด๋์ ์ ๋ตํ์ผ์ ํฌ๊ธฐ๊ฐ 2๋ฐฐ๋ฅผ ๋์ด๊ฐ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋๋ค.
์ถ๋ ฅ์ด๊ณผ ์ฝ๋๋ฅผ ์ถ๋ ฅํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
AAABBBCCC
AAABBBCCC/////HHHHHTTTTTPPPPP
let input = require('fs').readFileSync('dev/stdin').toString().trim().split('\n');
let length = Number(input[0]);
let answer = '';
for (let i = 1 ; i <= length; i ++) {
let arr = input[i].split(' ');
let str = arr[1];
for (let j = 0; j < arr[1].length; j++ ) {
answer += str[j].repeat(arr[0]);
}
answer += '\n'
}
console.log(answer)
๋ง์์ต๋๋ค!!
HOW? (ํ์ด๋ฐฉ๋ฒ)
1. for๋ฌธ์์ answer๋ฅผ ์ถ๋ ฅํ์ง ๋ง๊ณ ๋ฐ์์ ํ ๋ฒ๋ง ์ถ๋ ฅํด์ฃผ์๋ค.
2. for๋ฌธ์ ํ ๋ฒ ๋ ๋๋ง๋ค answer๊ฐ์ + \n์ ์ถ๊ฐํด ์ถ๋ ฅํ ๋ ์ค ๋ณ๊ฒฝ์ด ๋๋๋ก ์์ ํ๋ค.
๋ฐฑ์ค์์ ๋ฌธ์ ๋ฅผ ํ๋ค๊ฐ ๋ฏธ๊ถ์ ๋น ์ง๋ ๊ฐ์ฅ ํฐ ์์ธ์ ๋ฐ๋ก '๋ฐํ์ ์๋ฌ'๋ค.
๋ฐํ์ ์๋ฌ : ํ๋ก๊ทธ๋จ์ด ์คํ ๋์ค ๋น์ ์์ ์ผ๋ก ์ข ๋ฃ๋๋ ๊ฒ
let input = require('fs').readFileSync('dev/stdin').toString().trim().split('\n');
let length = Number(input[0]);
for (let i = 1 ; i <= length; i ++) {
let arr = input[i].split(' ');
let str = arr[1];
let strLength = arr[1].length;
let answer = '';
for (let j = 0; j < strLength; j++ ) {
answer += str[j].repeat(arr[0])
}
console.log(answer);
Vscode๋ ๋ต์ ์๋ง ์ถ๋ ฅํด์ฃผ์๋๋ฐ ๋ฐฑ์ค์ ์ ์ถํ๋ ๋ ์ฉ! ๐ฅฒ
์ ๊ทธ๋ฌ๋ ๋ดค๋๋ for๋ฌธ์ {} ๊ฐ๋ก๋ฅผ ์ ๋๋ก ์ ๋ซ์ ์ฃผ์๋ค.
์ด์ ๋ ํ๋ฉด์๋ ๋ชป ์ฐพ๊ฒ ๋๋ ์ด๋ฐ ์ฌ์ํ ์ค์๊ฐ ์์๋ค.
๋๋ถ์ ๋ฐํ์ ์๋ฌ ์ฐพ๋ค๊ฐ ์ผ๋ชฉ์์ฐํ๊ฒ ์ ๋ฆฌํ ๋ธ๋ก๊ทธ ๊ธ์ ๋ณด์๋ค.
๋ฐฑ์ค์์ ๋ฐํ์ ์๋ฌ๋ก ํ๋์ด๋ ์ฌ๋๋ค์ ๊ตฌ์ํ ๊ธ ๊ฐ์ ๋ณด์๊ณ ์กฐ์ฉํ ๋ถ๋งํฌ๋ฅผ ํ๋ค.
๋ฐํ์ ์๋ฌ๋ ์์ผ๋ก๋ ์์ฃผ ๋ง๋๊ฒ ๋ ๊ฒ ๊ฐ์ ์๊ฐ์ ๐ฅธ
https://www.secmem.org/blog/2020/09/19/rte/#
๊ฐ๋ก๋ฅผ ๋ซ๊ณ ๋ฐํ์ ์๋ฌ๊ฐ ์ฌ๋ผ์ง ์ฝ๋์ด๋ค.
let input = require('fs').readFileSync('dev/stdin').toString().trim().split('\n');
let length = Number(input[0]);
for (let i = 1 ; i <= length; i ++) {
let arr = input[i].split(' ');
let str = arr[1];
let strLength = arr[1].length;
let answer = '';
for (let j = 0; j < strLength; j++ ) {
answer += str[j].repeat(arr[0])
}
console.log(answer);
}
for๋ฌธ์์ ๋ณ์๋ฅผ ๋๋ฌด ๋ง์ธ ์ ์ธํ๋?
for๋ฌธ์์ console.log()๋ฅผ ๋๋ฌด ๋จ๋ฐํ๋?
๋ฐํ์ ์๋ฌ์ ๋ํ ๊ณ ๋ฏผ์ด ๊น์ด์ง ๋ฌด๋ ต ๋ณธ ๊ฐ๋ก๊ฐ ์ ๋ซํ ๋ชจ์ต์ด๋๐ฅฒ
๋๋ถ์ ๊ณต๋ถ ๋ ํ๋ค.
์ ๋ฏธ์ํ๊ณ ๊ณ ๋ง๋ค.
'Algorithms > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ๋ฐฑ์ค 1712๋ฒ : ์์ต๋ถ๊ธฐ์ (0) | 2022.05.05 |
---|---|
[JS] ๋ฐฑ์ค 2908๋ฒ : ์์ (0) | 2022.05.04 |
[JS] ๋ฐฑ์ค 1065๋ฒ : ํ์ (0) | 2022.04.23 |
[JS] ๋ฐฑ์ค 1546๋ฒ : ํ๊ท (0) | 2022.04.22 |
[JS] ๋ฐฑ์ค 3052๋ฒ : ๋๋จธ์ง (0) | 2022.04.20 |