article thumbnail image
Published 2022. 11. 11. 19:31

1065. ν•œμˆ˜ (silver 4)

μ–΄λ–€ μ–‘μ˜ μ •μˆ˜ X의 각 μžλ¦¬κ°€ λ“±μ°¨μˆ˜μ—΄μ„ 이룬닀면, κ·Έ 수λ₯Ό ν•œμˆ˜λΌκ³  ν•œλ‹€. λ“±μ°¨μˆ˜μ—΄μ€ μ—°μ†λœ 두 개의 수의 차이가 μΌμ •ν•œ μˆ˜μ—΄μ„ λ§ν•œλ‹€. N이 μ£Όμ–΄μ‘Œμ„ λ•Œ, 1보닀 ν¬κ±°λ‚˜ κ°™κ³ , N보닀 μž‘κ±°λ‚˜ 같은 ν•œμˆ˜μ˜ 개수λ₯Ό 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. 

 

μž…λ ₯

첫째 쀄에 1,000보닀 μž‘κ±°λ‚˜ 같은 μžμ—°μˆ˜ N이 μ£Όμ–΄μ§„λ‹€.

 

좜λ ₯

첫째 쀄에 1보닀 ν¬κ±°λ‚˜ κ°™κ³ , N보닀 μž‘κ±°λ‚˜ 같은 ν•œμˆ˜μ˜ 개수λ₯Ό 좜λ ₯ν•œλ‹€.

 

예제 μž…λ ₯1

110

 

 

 

예제 좜λ ₯1

99

 

풀이)

각 μžλ¦¬κ°€ λ“±μ°¨μˆ˜μ—΄μ„ 이루면 ν•œμˆ˜λΌκ³  ν•˜κΈ° λ•Œλ¬Έμ— 2자리 μ΄ν•˜μ˜ μˆ«μžλŠ” λͺ¨λ‘ ν•œμˆ˜μ΄λ‹€.

λ”°λΌμ„œ ν•œμˆ˜λ₯Ό λ°˜ν™˜ν•˜λŠ” ν•¨μˆ˜ hsμ—μ„œ if문을 μ‚¬μš©ν•΄ 2자리의 μ΄ν•˜μ˜ 숫자인 경우 cntλ₯Ό 계속 λ”ν•΄μ€˜μ„œ μž…λ ₯ν•œ μˆ˜κ°€ κ·ΈλŒ€λ‘œ λ°˜ν™˜λ˜λ„λ‘ ν•΄μ£Όμ—ˆλ‹€.

λ§Œμ•½ 3자리의 숫자인 경우(1000보닀 μž‘μ€ 수 μž…λ ₯) 백의 자리 수, μ‹­μ˜ 자리 수, 일의 자리 수λ₯Ό λ‚˜λˆ„μ–΄μ„œ

(백의 자리 수) - (μ‹­μ˜ 자리 수) == (μ‹­μ˜ 자리 수) - (일의 자리 수)κ°€ 성립할 λ•Œ cntλ₯Ό μ¦κ°€ν•˜λ„λ‘ ν•΄μ£Όμ—ˆλ‹€.

#include <stdio.h>

int hs(int n){
    int cnt=0;
    
    for(int i=1; i<n+1; i++) {
        if(0<i && i<100) cnt++;
        else if(i<1000) {
            if( i/100 - (i%100)/10 == (i%100)/10 - ((i%100)%10) ) cnt++;
        }
    }
    
    return cnt;
}
int main() {
    int n;

    scanf("%d", &n);
    printf("%d", hs(n));

}

'λ°±μ€€ > C' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[C] λ°±μ€€ 10845번  (1) 2022.11.12
[C] λ°±μ€€ 10828번  (0) 2022.11.11
[C] λ°±μ€€ 2164번  (0) 2022.05.24
[C] λ°±μ€€_ 7568번  (0) 2022.05.16
[C] λ°±μ€€_1929번  (0) 2022.05.15
λ³΅μ‚¬ν–ˆμŠ΅λ‹ˆλ‹€!