[Baekjoon] 13909 - πŸŒƒμ°½λ¬Έ λ‹«κΈ°

ChobbyΒ·2023λ…„ 11μ›” 15일
1

Baekjoon

λͺ©λ‘ 보기
78/108

πŸ˜€λ¬Έμ œ

μ„œκ°•λŒ€ν•™κ΅ 컴퓨터곡학과 μ‹€μŠ΅μ‹€ R912ν˜Έμ—λŠ” ν˜„μž¬ N개의 창문이 있고 또 Nλͺ…μ˜ μ‚¬λžŒμ΄ μžˆλ‹€. 1번째 μ‚¬λžŒμ€ 1의 배수 번째 창문을 μ—΄λ € 있으면 λ‹«κ³  λ‹«ν˜€ 있으면 μ—°λ‹€. 2번째 μ‚¬λžŒμ€ 2의 배수 번째 창문을 μ—΄λ € 있으면 λ‹«κ³  λ‹«ν˜€ 있으면 μ—°λ‹€. μ΄λŸ¬ν•œ 행동을 N번째 μ‚¬λžŒκΉŒμ§€ μ§„ν–‰ν•œ ν›„ μ—΄λ € μžˆλŠ” 창문의 개수λ₯Ό κ΅¬ν•˜λΌ. 단, μ²˜μŒμ— λͺ¨λ“  창문은 λ‹«ν˜€ μžˆλ‹€.

예λ₯Ό λ“€μ–΄ ν˜„μž¬ 3개의 창문이 있고 3λͺ…μ˜ μ‚¬λžŒμ΄ μžˆμ„ λ•Œ,

1번째 μ‚¬λžŒμ€ 1의 배수인 1,2,3번 창문을 μ—°λ‹€. (1, 1, 1)
2번째 μ‚¬λžŒμ€ 2의 배수인 2번 창문을 λ‹«λŠ”λ‹€. (1, 0, 1)
3번째 μ‚¬λžŒμ€ 3의 배수인 3번 창문을 λ‹«λŠ”λ‹€. (1, 0, 0)
결과적으둜 λ§ˆμ§€λ§‰μ— μ—΄λ € μžˆλŠ” 창문의 κ°œμˆ˜λŠ” 1개 이닀.


πŸ˜μž…λ ₯

첫 번째 μ€„μ—λŠ” 창문의 κ°œμˆ˜μ™€ μ‚¬λžŒμ˜ 수 N(1 ≀ N ≀ 2,100,000,000)이 주어진닀.


πŸ˜‚μΆœλ ₯

λ§ˆμ§€λ§‰μ— μ—΄λ € μžˆλŠ” 창문의 개수λ₯Ό 좜λ ₯ν•œλ‹€.

예제 μž…λ ₯ 1 
3
예제 좜λ ₯ 1 
1
예제 μž…λ ₯ 2 
24
예제 좜λ ₯ 2 
4

🀣좜처

University > μ„œκ°•λŒ€ν•™κ΅ > 2016 Sogang Programming Contest > Master B번
문제의 μ˜€νƒ€λ₯Ό 찾은 μ‚¬λžŒ: jaehoo1
문제λ₯Ό λ§Œλ“  μ‚¬λžŒ: jerryya211


πŸ˜ƒμ•Œκ³ λ¦¬μ¦˜ λΆ„λ₯˜

  • μˆ˜ν•™
  • μ •μˆ˜λ‘ 

πŸ˜Žλ‚˜μ˜ν’€μ΄

const input = require('fs').readFileSync('/dev/stdin').toString().trim()
const num = Number(input)
// 창문은 처음 λͺ¨λ‘ λ‹«ν˜€μžˆλŠ”λ‹€λŠ” μ „μ œν•˜μ—, ν™€μˆ˜λ²ˆμ§Έ ν˜ΈμΆœλ˜μ—ˆμ„ λ•Œ μƒνƒœκ°€ μ—΄λ¦Ό μƒνƒœμ΄λ‹€.
// 즉 νŠΉμ • κ°’μ˜ μ•½μˆ˜μ˜ κ°œμˆ˜κ°€ ν™€μˆ˜μΌ λ•Œ, ν•΄λ‹Ή κ°’ 번째의 창문은 μ—΄λ¦°λ‹€.
// 제곱수(4, 9, 16, ...)의 μ•½μˆ˜ κ°œμˆ˜λŠ” 항상 ν™€μˆ˜μ΄λ©° λ‹€λ₯Έ μžμ—°μˆ˜μ˜ μ•½μˆ˜ κ°œμˆ˜λŠ” 항상 μ§μˆ˜μ΄λ‹€.
let result = 0
for(let i = 1 ; Math.pow(i, 2) <= num ; i ++) {
    result++
}

console.log(result)
profile
λ‚΄ 지식을 κ³΅μœ ν•  수 μžˆλŠ” λŒ€λ‹΄ν•¨

0개의 λŒ“κΈ€