Problem ๐Ÿ’ป

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

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr

 

๋ฌธ์ œ ์„ค๋ช…

๊ฐœ๋ฏธ ๊ตฐ๋‹จ์ด ์‚ฌ๋ƒฅ์„ ๋‚˜๊ฐ€๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฏธ๊ตฐ๋‹จ์€ ์‚ฌ๋ƒฅ๊ฐ์˜ ์ฒด๋ ฅ์— ๋”ฑ ๋งž๋Š” ๋ณ‘๋ ฅ์„ ๋ฐ๋ฆฌ๊ณ  ๋‚˜๊ฐ€๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์žฅ๊ตฐ๊ฐœ๋ฏธ๋Š” 5์˜ ๊ณต๊ฒฉ๋ ฅ์„, ๋ณ‘์ •๊ฐœ๋ฏธ๋Š” 3์˜ ๊ณต๊ฒฉ๋ ฅ์„ ์ผ๊ฐœ๋ฏธ๋Š” 1์˜ ๊ณต๊ฒฉ๋ ฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ฒด๋ ฅ 23์˜ ์—ฌ์น˜๋ฅผ ์‚ฌ๋ƒฅํ•˜๋ ค๊ณ  ํ•  ๋•Œ, ์ผ๊ฐœ๋ฏธ 23๋งˆ๋ฆฌ๋ฅผ ๋ฐ๋ฆฌ๊ณ  ๊ฐ€๋„ ๋˜์ง€๋งŒ, ์žฅ๊ตฐ๊ฐœ๋ฏธ ๋„ค ๋งˆ๋ฆฌ์™€ ๋ณ‘์ •๊ฐœ๋ฏธ ํ•œ ๋งˆ๋ฆฌ๋ฅผ ๋ฐ๋ฆฌ๊ณ  ๊ฐ„๋‹ค๋ฉด ๋” ์ ์€ ๋ณ‘๋ ฅ์œผ๋กœ ์‚ฌ๋ƒฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ๋ƒฅ๊ฐ์˜ ์ฒด๋ ฅ hp๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์‚ฌ๋ƒฅ๊ฐ์˜ ์ฒด๋ ฅ์— ๋”ฑ ๋งž๊ฒŒ ์ตœ์†Œํ•œ์˜ ๋ณ‘๋ ฅ์„ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ๋ช‡ ๋งˆ๋ฆฌ์˜ ๊ฐœ๋ฏธ๊ฐ€ ํ•„์š”ํ•œ์ง€๋ฅผ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.


์ œํ•œ์‚ฌํ•ญ
  • hp๋Š” ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.
  • 0 ≤ hp ≤ 1000

์ž…์ถœ๋ ฅ ์˜ˆhpresult
23 5
24 6
999 201

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1

  • hp๊ฐ€ 23์ด๋ฏ€๋กœ, ์žฅ๊ตฐ๊ฐœ๋ฏธ ๋„ค๋งˆ๋ฆฌ์™€ ๋ณ‘์ •๊ฐœ๋ฏธ ํ•œ๋งˆ๋ฆฌ๋กœ ์‚ฌ๋ƒฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 5๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

  • hp๊ฐ€ 24์ด๋ฏ€๋กœ, ์žฅ๊ตฐ๊ฐœ๋ฏธ ๋„ค๋งˆ๋ฆฌ ๋ณ‘์ •๊ฐœ๋ฏธ ํ•œ๋งˆ๋ฆฌ ์ผ๊ฐœ๋ฏธ ํ•œ๋งˆ๋ฆฌ๋กœ ์‚ฌ๋ƒฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 6์„ returnํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #3

  • hp๊ฐ€ 999์ด๋ฏ€๋กœ, ์žฅ๊ตฐ๊ฐœ๋ฏธ 199 ๋งˆ๋ฆฌ ๋ณ‘์ •๊ฐœ๋ฏธ ํ•œ๋งˆ๋ฆฌ ์ผ๊ฐœ๋ฏธ ํ•œ๋งˆ๋ฆฌ๋กœ ์‚ฌ๋ƒฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 201์„ returnํ•ฉ๋‹ˆ๋‹ค.

 

Approach 2โญ•

๊ฐ€์žฅ ํฐ ๊ฐ’์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฏธ๋ถ€ํ„ฐ ์ˆœ์ฐจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์ฒด๋ ฅ์„ ์ตœ์†Œํ•œ์˜ ๊ฐœ๋ฏธ๋กœ ์ค„์ด๋Š” ๊ฒƒ์ด 3๊ฐ€์ง€ ์ˆ˜๋ฅผ ์ตœ์†Œํ•œ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. 

 

1. ๋ฌธ์ œ ์ดํ•ด

- hp : ์ ์˜ ์ฒด๋ ฅ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ’(๋‚ด๊ฐ€ ๋งž์ถฐ์•ผ ํ•˜๋Š” ์ˆ˜)

- ๊ฐœ๋ฏธ : -5, -3, -1

- ๋ชฉํ‘œ : ์ฃผ์–ด์ง„ ์ฒด๋ ฅ์„ ์ตœ์†Œํ•œ์˜ ๊ฐœ๋ฏธ ์ˆ˜๋กœ ์ค„์ด๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•„์•ผ ํ•จ.

 

2. ํ•ต์‹ฌ ๋…ผ๋ฆฌ

ํฐ ๊ฐ’๋ถ€ํ„ฐ ์ฒ˜๋ฆฌํ•œ๋‹ค.

 2.1 ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” -5๋ถ€ํ„ฐ ์ตœ๋Œ€ํ•œ ๋งŽ์ด ์‚ฌ์šฉ.

 2.2 ๋‚จ์€ ์ฒด๋ ฅ์—์„œ ๋‘ ๋ฒˆ์งธ๋กœ ํฐ ๊ฐ’์„ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” -3 ์„ ๊ทธ ๋‹ค์Œ์œผ๋กœ ์‚ฌ์šฉ

 2.3 ๋งˆ์ง€๋ง‰์œผ๋กœ -1 ์‚ฌ์šฉ

 

3. ๋‹จ๊ณ„๋ณ„ ํ’€์ด

 3.1 -5 ์‚ฌ์šฉ

hp๋ฅผ 5๋กœ ๋‚˜๋ˆ„์–ด ๋ชซ (hp / 5) ๋งŒํผ ์žฅ๊ตฐ ๊ฐœ๋ฏธ๋ฅผ ์‚ฌ์šฉ

๋‚จ์€ ์ฒด๋ ฅ: hp % 5

 

 3.2 -3 ์‚ฌ์šฉ

๋‚จ์€ ์ฒด๋ ฅ์„ 3์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋ชซ (๋‚จ์€ ์ฒด๋ ฅ / 3)๋งŒํผ -3์„ ์‚ฌ์šฉ

๋‚จ์€ ์ฒด๋ ฅ : ๋‚จ์€ ์ฒด๋ ฅ %3

 

 3.3 -1 ์‚ฌ์šฉ

๋‚จ์€ ์ฒด๋ ฅ์€ ๋ชจ๋‘ ์ผ๊ฐœ๋ฏธ๋กœ ์ฒ˜๋ฆฌ

์ผ๊ฐœ๋ฏธ ์ˆ˜ : ๋‚จ์€ ์ฒด๋ ฅ

 

 

 ์˜์‚ฌ ์ฝ”๋“œ (Pseudocode)

Input : hp
generalAnt = 5;
soldierAnt = 3;
workerAnt = 1:

count = 0;

# Step 1: Use general ants
count += hp / generalAnt
hp %= generalAnt

# Step 2: Use soldier ants
count += hp / soldierAnt
hp %= soldierAnt

# Step 3: Use worker ants
count += hp / workerAnt

Output : count
์˜์‚ฌ ์ฝ”๋“œ(Pseudocode)๋ž€?

์˜์‚ฌ ์ฝ”๋“œ(Pseudocode)๋Š” ํŠน์ • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๋ฌธ๋ฒ•์— ์˜์กดํ•˜์ง€ ์•Š๊ณ , ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋…ผ๋ฆฌ๋‚˜ ์‹คํ–‰ ๊ณผ์ •์„ ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์„œ์ˆ ํ•œ ์ฝ”๋“œ ํ˜•์‹์ž…๋‹ˆ๋‹ค.
• ๋ชฉ์ :
• ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ค๊ณ„๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๊ณ  ๊ฐœ๋…์ ์œผ๋กœ ํ‘œํ˜„.
• ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ ์ „์— ์„ค๊ณ„ ๋‹จ๊ณ„์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์›€.
• ํŠน์ง•:
• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๋ฌธ๋ฒ•์— ์–ฝ๋งค์ด์ง€ ์•Š์Œ.
• ์˜์–ด์™€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐœ๋…์„ ํ˜ผํ•ฉํ•˜์—ฌ ์ž‘์„ฑ.
• ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ๋ฐฉ์‹์œผ๋กœ ์“ฐ์—ฌ์ ธ ์žˆ์Œ.
• ์‹คํ–‰ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ ํ˜•ํƒœ.

Solution ๐Ÿ’ก

package reviewCodingTest;

public class Ant {
    public int solution(int hp) {
        int generalAnt = 5;
        int soldierAnt = 3;
        int workerAnt = 1;

        int count = 0;
        count += hp / generalAnt;
        hp %= generalAnt;

        count += hp / soldierAnt;
        hp %= soldierAnt;

        count += hp / workerAnt;

        return count;
    }
    public static void main(String[] args) {
        Ant ant = new Ant();
        System.out.println(ant.solution(30));
    }
}

Reference ๐Ÿ“„

์ด ๋ฌธ์ œ์˜ ํ•ต์‹ฌ
- ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฏธ๋ถ€ํ„ฐ ์ˆœ์ฐจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” "ํƒ‘๋‹ค์šด ์ ‘๊ทผ๋ฒ•"์ด ์ตœ์†Œ๊ฐ’์„ ๋ณด์žฅ.
- ์ฒด๋ ฅ์„ ๋‚˜๋ˆŒ ๋•Œ "๋ชซ๊ณผ ๋‚˜๋จธ์ง€"๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฌธ์ œ๋ฅผ ๋…ผ๋ฆฌ์ ์œผ๋กœ ํ‘ธ๋Š” ํ•ต์‹ฌ

+ Recent posts