[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋งˆ๋ฒ•์˜ ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ - ์ˆ˜ํ•™

2024. 8. 23. 02:16ยท๐Ÿ’ป Algorithms/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[ ๋ฌธ์ œ๋งํฌ ]

https://school.programmers.co.kr/learn/courses/30/lessons/148653

 

๐Ÿšฉ ์กฐ๊ฑด

  1. -1, +1, -10, +10, -100, +100๋“ฑ๊ณผ ๊ฐ™์ด 10์˜ c์Šน(c ≥ 0 ์ธ ์ •์ˆ˜) ํ˜•ํƒœ์˜ ์ •์ˆ˜๋“ค์ด ์ ํžŒ ๋ฒ„ํŠผ์ด ์žˆ์Œ
  2. ๋งˆ๋ฒ•์˜ ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ์˜ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ํ˜„์žฌ ์ธต ์ˆ˜์— ๋ฒ„ํŠผ์— ์ ํ˜€ ์žˆ๋Š” ๊ฐ’์„ ๋”ํ•œ ์ธต์œผ๋กœ ์ด๋™ํ•˜๊ฒŒ ๋จ
  3. ๋งˆ๋ฒ•์˜ ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ๋ฅผ ์›€์ง์ด๊ธฐ ์œ„ํ•ด์„œ ๋ฒ„ํŠผ ํ•œ ๋ฒˆ๋‹น ๋งˆ๋ฒ•์˜ ๋Œ ํ•œ ๊ฐœ๋ฅผ ์‚ฌ์šฉํ•จ
  4. 0์ธต์œผ๋กœ ๊ฐ€๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋งˆ๋ฒ•์˜ ๋Œ์˜ ์ตœ์†Œ๊ฐ’์„ ๊ตฌํ•ด๋ผ

 

 

๐Ÿšฉ ์ ‘๊ทผ

๋งจ ๋’ท์ž๋ฆฌ๋ถ€ํ„ฐ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ’์„ ์‚ดํŽด๋ณด๋ฉฐ ๊ทธ ๊ฐ’์ด

5๋ณด๋‹ค ํฌ๋ฉด -, 5๋ณด๋‹ค ์ž‘์œผ๋ฉด +๋ฅผ ํ•˜์ž

5์— ๋Œ€ํ•œ ๋“ฑํ˜ธ๋Š” ์–ด๋””์— ๋ถ™์—ฌ๋„ ์ƒ๊ด€์—†์„ ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ–ˆ๋‹ค.

 

 

๐Ÿšฉ ์‹œํ–‰์ฐฉ์˜ค

๋‚˜๋จธ์ง€๊ฐ€ 5์ผ ๋•Œ ๊ณ ๋ ค์‚ฌํ•ญ์ด ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฑธ ๋‚˜์ค‘์— ๊นจ๋‹ฌ์•˜๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด 45๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž. "5 ์ด์ƒ์ด๋ฉด -"๋ฅผ ์ ์šฉํ•˜๋ฉด ์ด ํ•„์š”ํ•œ ๋งˆ๋ฒ•์˜ ๋Œ์€ 9๊ฐœ์ด๊ณ , "5 ์ดํ•˜์ด๋ฉด +"๋ฅผ ์ ์šฉํ•˜๋ฉด ์ด ํ•„์š”ํ•œ ๋งˆ๋ฒ•์˜ ๋Œ์€ 10๊ฐœ์ด๋‹ค.

๋‹ค๋ฅธ ์˜ˆ์‹œ๋กœ 65๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž. "5 ์ด์ƒ์ด๋ฉด -"๋ฅผ ์ ์šฉํ•˜๋ฉด ์ด ํ•„์š”ํ•œ ๋งˆ๋ฒ•์˜ ๋Œ์€ 9๊ฐœ์ด๊ณ , "5 ์ดํ•˜์ด๋ฉด +"๋ฅผ ์ ์šฉํ•˜๋ฉด ์ด ํ•„์š”ํ•œ ๋งˆ๋ฒ•์˜ ๋Œ์€ 8๊ฐœ์ด๋‹ค.

๋”ฐ๋ผ์„œ ๋‚˜๋จธ์ง€๊ฐ€ 5์ผ ๋•Œ, ๊ทธ ์•ž์ž๋ฆฌ๊ฐ€ 5๋ณด๋‹ค ํฌ๋ฉด ํ˜„์žฌ ์ž๋ฆฌ๋ฅผ +, ๊ทธ ์•ž์ž๋ฆฌ๊ฐ€ 5๋ณด๋‹ค ์ž‘์œผ๋ฉด ํ˜„์žฌ ์ž๋ฆฌ๋ฅผ - ํ•ด์•ผํ•œ๋‹ค. (์ด ๋•Œ๋Š” ๋“ฑํ˜ธ ์œ„์น˜ ์ƒ๊ด€ ์—†์Œ)

 

 

๐Ÿ’ป ์ฝ”๋“œ (C++)

#include <string>
#include <vector>
#include <cmath>

using namespace std;

int solution(int storey) {
    int answer = 0;
    int repeat = 1;
    
    while(storey != 0){
        if(storey%(int)pow(10,repeat) == 0){
            repeat++;
            continue;
        }else if(storey%(int)pow(10,repeat) == 5*(int)pow(10,repeat-1)){
            if(storey%(int)pow(10,repeat+1) < 5*(int)pow(10,repeat)){
                while(storey%(int)pow(10,repeat) != 0){
                    storey -= (int)pow(10,repeat-1);
                    answer++;
                }
            }else{
                while(storey%(int)pow(10,repeat) != 0){
                    storey += (int)pow(10,repeat-1);
                    answer++;
                }
            }
        }else if(storey%(int)pow(10,repeat) < 5*(int)pow(10,repeat-1)){
            while(storey%(int)pow(10,repeat) != 0){
                storey -= (int)pow(10,repeat-1);
                answer++;
            }
        }else{
            while(storey%(int)pow(10,repeat) != 0){
                storey += (int)pow(10,repeat-1);
                answer++;
            }
        }
        repeat++;
    }
    return answer;
}

์ฝ”๋“œ๊ฐ€ ์ข€ ๋”๋Ÿฌ์šด๋ฐ ๋ฐ˜๋ณต ๋๋‚ ๋•Œ๋งˆ๋‹ค storey/=10 ํ•˜๋ฉด ๊ฐ€๋…์„ฑ ๋” ์ข‹์„ ๋“ฏ

์•„๋ž˜์™€ ๊ฐ™์ด ์žฌ๊ท€ ํ•จ์ˆ˜๋ฅผ ์จ์„œ ํ‘ผ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด๋„ ์žˆ๋”๋ผ

'๐Ÿ’ป Algorithms > ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ์†Ÿ๊ฐ’ - ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ?  (1) 2024.09.20
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋‹ฌ๋ฆฌ๊ธฐ ๊ฒฝ์ฃผ - ํ•ด์‹œ  (0) 2024.09.20
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋’ค์— ์žˆ๋Š” ํฐ ์ˆ˜ ์ฐพ๊ธฐ - ์Šคํƒ  (0) 2024.08.20
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋‘ ์› ์‚ฌ์ด์˜ ์ •์ˆ˜ ์Œ - ์ˆ˜ํ•™  (0) 2024.08.17
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์—ฐ์†๋œ ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ํ•ฉ - ํˆฌ ํฌ์ธํ„ฐ  (0) 2024.08.14
'๐Ÿ’ป Algorithms/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ์†Ÿ๊ฐ’ - ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ?
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋‹ฌ๋ฆฌ๊ธฐ ๊ฒฝ์ฃผ - ํ•ด์‹œ
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋’ค์— ์žˆ๋Š” ํฐ ์ˆ˜ ์ฐพ๊ธฐ - ์Šคํƒ
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋‘ ์› ์‚ฌ์ด์˜ ์ •์ˆ˜ ์Œ - ์ˆ˜ํ•™
์ ๋„
์ ๋„
  • ์ ๋„
    ๋„์ 
    ์ ๋„
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (30)
      • ๐Ÿ’ป Algorithms (28)
        • ๋ฐฑ์ค€ (22)
        • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (6)
      • ๐Ÿ”Ž Deep Learning (0)
      • ๐Ÿ’ฅ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… (1)
      • ๐Ÿ•น Unity (1)
      • ๐Ÿฅ” ์ž‰ํ…… (0)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • Blog
    • Github
    • Velog
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.0
์ ๋„
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋งˆ๋ฒ•์˜ ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ - ์ˆ˜ํ•™
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”