Problem ๐Ÿ’ป

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

๋ฌธ์ œ ์„ค๋ช…

๋จธ์“ฑ์ด๋„ค ํ”ผ์ž๊ฐ€๊ฒŒ๋Š” ํ”ผ์ž๋ฅผ ์ผ๊ณฑ ์กฐ๊ฐ์œผ๋กœ ์ž˜๋ผ ์ค๋‹ˆ๋‹ค. ํ”ผ์ž๋ฅผ ๋‚˜๋ˆ ๋จน์„ ์‚ฌ๋žŒ์˜ ์ˆ˜ n์ด ์ฃผ์–ด์งˆ ๋•Œ, ๋ชจ๋“  ์‚ฌ๋žŒ์ด ํ”ผ์ž๋ฅผ ํ•œ ์กฐ๊ฐ ์ด์ƒ ๋จน๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ํ”ผ์ž์˜ ์ˆ˜๋ฅผ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.

 

์ œํ•œ์‚ฌํ•ญ

  • 1 ≤ n ≤ 100

์ž…์ถœ๋ ฅ ์˜ˆ

n                                                                                                                 result
7 1
1 1
15 3

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

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

  • 7๋ช…์ด ์ตœ์†Œ ํ•œ ์กฐ๊ฐ์”ฉ ๋จน๊ธฐ ์œ„ํ•ด์„œ ์ตœ์†Œ 1ํŒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

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

  • 1๋ช…์€ ์ตœ์†Œ ํ•œ ์กฐ๊ฐ์„ ๋จน๊ธฐ ์œ„ํ•ด 1ํŒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

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

  • 15๋ช…์ด ์ตœ์†Œ ํ•œ ์กฐ๊ฐ์”ฉ ๋จน๊ธฐ ์œ„ํ•ด์„œ ์ตœ์†Œ 3ํŒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

Approach 1 โŒ - ๋‚˜์˜ ์ดˆ๊ธฐ ์ ‘๊ทผ๋ฒ•

1~7๊ฐœ ์ดํ•˜์ด๋ฉด 1 ๋ฆฌํ„ด
8~14 = 2, 15~21 = 3, 22~28= 4
if else ๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ๋ฒ”์œ„๋ฅผ ๊ฐ๊ฐ ์ž˜๋ผ์„œ ํ• ์ˆ˜๋„ ์žˆ๊ณ 
% ๊ฐœ๋…์„ ์ด์šฉํ•ด์„œ ํ’€์ˆ˜๋„ ์žˆ๋‹ค. 


Approach 2 โญ• - ๋‚ด ์ ‘๊ทผ๋ฒ•์— ๋Œ€ํ•œ ๋ฌธ์ œ์ 

1. ๋น„ํšจ์œจ์ ์ธ ์กฐ๊ฑด ๋ถ„๊ธฐ:

if-else ๋ฌธ์„ ์‚ฌ์šฉํ•ด ๋ฒ”์œ„๋ฅผ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์€ ๋น„ํšจ์œจ์ ์ด๋‹ค.

   ์˜ˆ๋ฅผ ๋“ค์–ด, n <= 7 ์ด๋ฉด 1, 8 <= n <= 14 ์ด๋ฉด 2์™€ ๊ฐ™์ด ์ผ์ผ์ด ์กฐ๊ฑด์„ ํ™•์ธํ•˜๋Š” ๋Œ€์‹ ,

     ๊ฐ„๋‹จํžˆ ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ๊ณผ ๋ชซ์„ ์ด์šฉํ•˜๋ฉด ์ฝ”๋“œ๊ฐ€ ํ›จ์”ฌ ๊ฐ„๊ฒฐํ•ด์ง„๋‹ค.

2. % ์—ฐ์‚ฐ ํ™œ์šฉ ๋ฏธ๋น„:

n์„ 7๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ ๋‚˜๋จธ์ง€๊ฐ€ ์žˆ๋‹ค๋ฉด ํŒ ์ˆ˜๋ฅผ ์˜ฌ๋ ค์•ผ ํ•œ๋‹ค๋Š” ๊ฐœ๋…์„ ์ •ํ™•ํžˆ ํ™œ์šฉํ•˜์ง€ ์•Š์•˜๋‹ค.

 

์š”๊ตฌํ•˜๋Š” ์‚ฌ๊ณ ๋ ฅ ๋ฐ ์ž๋ฐ” ๊ฐœ๋…

1. ๋ชจ๋“ˆ๋กœ ์—ฐ์‚ฐ (%):

  • ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์€ ์ˆ˜๋ฅผ ๋‚˜๋ˆˆ ๋’ค ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•˜๋Š” ์—ฐ์‚ฐ์ด๋‹ค.

  • n % 7์ด 0์ด๋ฉด ์ •ํ™•ํžˆ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง„ ๊ฒƒ์ด๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ถ”๊ฐ€๋กœ ํ•œ ํŒ์ด ํ•„์š”ํ•˜๋‹ค.

2. ๋ชซ ์—ฐ์‚ฐ:

  • ๋ชซ์€ n / 7๋กœ ๊ตฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋‚˜๋จธ์ง€๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ํŒ ์ˆ˜๋ฅผ ํ•˜๋‚˜ ๋” ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค.

3. ์—ฐ์‚ฐ ์ตœ์ ํ™”:

  • ๋ถˆํ•„์š”ํ•œ if-else ์กฐ๊ฑด ๋Œ€์‹  ์ˆ˜ํ•™์  ๊ณต์‹์„ ํ™œ์šฉํ•˜์—ฌ ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ํšจ์œจ์„ฑ์„ ๋†’์ธ๋‹ค.


Solution ๐Ÿ’ก

 

๋ฌธ์ œ์˜ ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„ ๋ฐ ๋…ผ๋ฆฌ์  ์ ‘๊ทผ

 

์ด ๋ฌธ์ œ๋Š” ํ•œ ํŒ์˜ ํ”ผ์ž๊ฐ€ 7์กฐ๊ฐ์œผ๋กœ ๋‚˜๋‰˜๊ณ , n ๋ช…์ด ์žˆ์„ ๋•Œ ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์ตœ์†Œ ํ•œ ์กฐ๊ฐ์”ฉ ๋จน๊ธฐ ์œ„ํ•ด ์ตœ์†Œํ•œ ํ•„์š”ํ•œ ํ”ผ์ž์˜ ํŒ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.

 

1. ํ•ต์‹ฌ ๋…ผ๋ฆฌ:

  • ํ”ผ์ž ํ•œ ํŒ์ด 7์กฐ๊ฐ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ง€๋ฏ€๋กœ, ์‚ฌ๋žŒ ์ˆ˜ n์„ 7๋กœ ๋‚˜๋ˆˆ ๋ชซ์ด ํ•„์š”ํ•˜๋‹ค.

  • ๋‚˜๋จธ์ง€๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ, ์ถ”๊ฐ€๋กœ ํ•œ ํŒ์ด ํ•„์š”ํ•˜๋‹ค.

2. ์ˆ˜ํ•™์  ๊ณต์‹:

ํ•„์š”ํ•œ ํ”ผ์ž ํŒ ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

 

= (n+6) / 7

 

 

์œ„ ๊ณต์‹์„ ์˜ฌ๋ฆผ ์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. +6์€ 7๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ณด์ •์ด๋‹ค.

n์€ ์–ด๋–ค ์ˆ˜๊ฐ€ ๋  ์ง€ ๋ชจ๋ฅด๋Š”๋ฐ  ์™œ ํ•ญ์ƒ 6์„ ๋”ํ•ด์ค˜์•ผ ํ•˜๋Š”๊ฑธ๊นŒ?

n์„ 7๋กœ ๋‚˜๋ˆŒ ๋•Œ ๋‚˜๋จธ์ง€๋Š” 0,1,2,3,....6 ์ค‘ ํ•˜๋‚˜๋‹ค.
1. ๋‚˜๋จธ์ง€๊ฐ€ 0์ด๋ฉด, 7๋กœ ๋”ฑ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ ธ์„œ ์ถ”๊ฐ€๊ฐ€ ํ•„์š” ์—†๋‹ค.
  • (n + 6) / 7 = n / 7 ๊ทธ๋Œ€๋กœ ๋ชซ์ด ๋‚˜์˜จ๋‹ค.
2. ๋‚˜๋จธ์ง€๊ฐ€ 1, 2, …, 6์ด๋ฉด → ํ•œ ํŒ์ด ๋” ํ•„์š”ํ•˜๋‹ค
  • 6์„ ๋”ํ•˜๋ฉด ๋‚˜๋จธ์ง€๋ฅผ 7 ์ด์ƒ์œผ๋กœ ์˜ฌ๋ ค์„œ ํ•œ ํŒ์„ ์ž๋™์œผ๋กœ ๋”ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

ํ”ผ์ž๋ฅผ ํ•œ ํŒ ๋” ์ค€๋น„ํ•˜๋ ค๋ฉด ๋‚˜๋จธ์ง€๊ฐ€ ์กฐ๊ธˆ์ด๋ผ๋„ ์žˆ์œผ๋ฉด ๋œ๋‹ค.
์ด ๋‚˜๋จธ์ง€๋ฅผ 7์กฐ๊ฐ์œผ๋กœ ์ฑ„์šฐ๋ ค๋ฉด ๋ฏธ๋ฆฌ 6์„ ๋”ํ•ด์ค˜์„œ 7์„ ๋„˜๊ธฐ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค. 
(๋‚˜๋จธ์ง€์˜ ์ตœ์†Œ๊ฐ’์ธ 1์„ ๊ณ ๋ คํ•˜์—ฌ +6์„ ํ•˜์—ฌ ํ•œํŒ(7)์„ ๋งŒ๋“ค์–ด ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.)

์˜ˆ์‹œ)
1)
8๋ช…์„ ๋‚˜๋ˆŒ ๋•Œ
 8 / 7์„ ํ•ด๋ณด๋ฉด : ๋ชซ = 1, ๋‚˜๋จธ์ง€ = 1
 ๊ทธ๋Ÿฐ๋ฐ ๋‚˜๋จธ์ง€๊ฐ€ 1์ด ๋‚จ์•˜์œผ๋‹ˆ๊น ํ”ผ์ž ํ•œ ํŒ์ด ๋” ํ•„์š”ํ•˜๋‹ค.
์ด๊ฑธ 6์„ ๋”ํ•ด์„œ ์ฒ˜๋ฆฌํ•˜๋ฉด 
(8+6)7 = 147 =2
=> ์ž๋™์œผ๋กœ ํ•œ ํŒ์ด ๋”ํ•ด์กŒ๋‹ค. 

2)
1๋ช…์„ ๋‚˜๋ˆŒ ๋•Œ
1. 1 ÷ 7์„ ํ•ด๋ณด๋ฉด:
• ๋ชซ = 0, ๋‚˜๋จธ์ง€ = 1
2. ๋‚˜๋จธ์ง€๊ฐ€ ์žˆ์œผ๋‹ˆ๊นŒ ํ”ผ์ž ํ•œ ํŒ์ด ํ•„์š”ํ•˜๋‹ค.

6์„ ๋”ํ•˜๋ฉด:

(1 + 6) ÷ 7 = 7 ÷ 7 = 1

→ ํ•œ ํŒ์ด ์ •ํ™•ํ•˜๊ฒŒ ๋‚˜์˜จ๋‹ค!

3)
7๋ช…์„ ๋‚˜๋ˆŒ ๋•Œ
1. 7 ÷ 7์„ ํ•ด๋ณด๋ฉด:
   • ๋ชซ = 1, ๋‚˜๋จธ์ง€ = 0
2. ๋‚˜๋จธ์ง€๊ฐ€ ์—†์œผ๋‹ˆ๊นŒ ํ”ผ์ž ํ•œ ํŒ์ด๋ฉด ์ถฉ๋ถ„ํ•˜๋‹ค.

6์„ ๋”ํ•ด๋„ ๊ฒฐ๊ณผ๋Š” ๊ฐ™๋‹ค:

(7 + 6) ÷ 7 = 13 ÷ 7 = 1

→ ๊ทธ๋Œ€๋กœ ํ•œ ํŒ์ด ํ•„์š”ํ•˜๋‹ค.


 
class Solution {
   public int solution(int n) {
       // ์ตœ์†Œ ํ•„์š”ํ•œ ํ”ผ์ž ํŒ ์ˆ˜ ๊ณ„์‚ฐ
       return (n + 6) / 7;
   }
}

Reference ๐Ÿ“„

+ Recent posts