์นธํ ์ด ์งํฉ์ 0๊ณผ 1์ฌ์ด์ ์ค์๋ก ์ด๋ฃจ์ด์ง ์งํฉ์ผ๋ก, ๊ตฌ๊ฐ [0, 1]์์ ์์ํด์ ๊ฐ ๊ตฌ๊ฐ์ 3๋ฑ๋ถํ์ฌ ๊ฐ์ด๋ฐ ๊ตฌ๊ฐ์ ๋ฐ๋ณต์ ์ผ๋ก ์ ์ธํ๋ ๋ฐฉ์์ผ๋ก ๋ง๋ ๋ค.
์ ์ฒด ์งํฉ์ด ์ ํ์ด๋ผ๊ณ ๊ฐ์ ํ๊ณ , ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ํตํด์ ์นธํ ์ด ์งํฉ์ ๊ทผ์ฌ๋ฅผ ๋ง๋ค์ด๋ณด์.
-๊ฐ 3N๊ฐ ์๋ ๋ฌธ์์ด์์ ์์ํ๋ค.
๋ฌธ์์ด์ 3๋ฑ๋ถ ํ ๋ค, ๊ฐ์ด๋ฐ ๋ฌธ์์ด์ ๊ณต๋ฐฑ์ผ๋ก ๋ฐ๊พผ๋ค. ์ด๋ ๊ฒ ํ๋ฉด, ์ (๋ฌธ์์ด) 2๊ฐ๊ฐ ๋จ๋๋ค.
์ด์ ๊ฐ ์ (๋ฌธ์์ด)์ 3๋ฑ๋ถ ํ๊ณ , ๊ฐ์ด๋ฐ ๋ฌธ์์ด์ ๊ณต๋ฐฑ์ผ๋ก ๋ฐ๊พผ๋ค. ์ด ๊ณผ์ ์ ๋ชจ๋ ์ ์ ๊ธธ์ด๊ฐ 1์ผ๋ ๊น์ง ๊ณ์ ํ๋ค.
์๋ฅผ ๋ค์ด, N=3์ธ ๊ฒฝ์ฐ, ๊ธธ์ด๊ฐ 27์ธ ๋ฌธ์์ด๋ก ์์ํ๋ค.
์ฌ๊ธฐ์ ๊ฐ์ด๋ฐ ๋ฌธ์์ด์ ๊ณต๋ฐฑ์ผ๋ก ๋ฐ๊พผ๋ค.
๋จ์ ๋ ์ ์ ๊ฐ์ด๋ฐ ๋ฌธ์์ด์ ๊ณต๋ฐฑ์ผ๋ก ๋ฐ๊พผ๋ค.
ํ๋ฒ ๋
๋ชจ๋ ์ ์ ๊ธธ์ด๊ฐ 1์ด๋ฉด ๋ฉ์ถ๋ค. N์ด ์ฃผ์ด์ก์ ๋, ๋ง์ง๋ง ๊ณผ์ ์ด ๋๋ ํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ์ ์ฌ๋ฌ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๊ฐ ์ค์ N์ด ์ฃผ์ด์ง๋ค. ํ์ผ์ ๋์์ ์ ๋ ฅ์ ๋ฉ์ถ๋ค. N์ 0๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 12๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค.
์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง N์ ๋ํด์, ํด๋นํ๋ ์นธํ ์ด ์งํฉ์ ๊ทผ์ฌ๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์
๋ ฅ 1
0
1
3
2
์์ ์ถ๋ ฅ 1
-
- -
- - - - - - - -
- - - -
function cantore(str) {
if(str.includes('---')) {
const len = str.length/3
const splitedArr = []
for(let i = 0 ; i <= str.length - len ; i += len) {
splitedArr.push(str.slice(i, i+len))
}
splitedArr[0] = cantore(splitedArr[0])
splitedArr[1] = splitedArr[1].replaceAll("-", " ")
splitedArr[2] = cantore(splitedArr[2])
return splitedArr.join("")
}
return str
}
const input = require('fs').readFileSync('/dev/stdin').toString().trim().split("\n").map(Number)
const result = input.map(a => {
const dash = '-'.repeat(3**a)
return cantore(dash)
})
console.log(result.join("\n"))