๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Algorithm/BOJ

[BOJ] ๋‚˜๋ฌด ์กฐ๊ฐ (#2947)

 

 

๋ฌธ์ œ 

 

๋™ํ˜์ด๋Š” ๋‚˜๋ฌด ์กฐ๊ฐ์„ 5๊ฐœ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋‚˜๋ฌด ์กฐ๊ฐ์—๋Š” 1๋ถ€ํ„ฐ 5๊นŒ์ง€ ์ˆซ์ž ์ค‘ ํ•˜๋‚˜๊ฐ€ ์“ฐ์—ฌ์ ธ ์žˆ๋‹ค. ๋˜, ๋ชจ๋“  ์ˆซ์ž๋Š” ๋‹ค์„ฏ ์กฐ๊ฐ ์ค‘ ํ•˜๋‚˜์—๋งŒ ์“ฐ์—ฌ ์žˆ๋‹ค.

๋™ํ˜์ด๋Š” ๋‚˜๋ฌด ์กฐ๊ฐ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์„ ๊ฑฐ์ณ์„œ 1, 2, 3, 4, 5 ์ˆœ์„œ๋กœ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค.

  1. ์ฒซ ๋ฒˆ์งธ ์กฐ๊ฐ์˜ ์ˆ˜๊ฐ€ ๋‘ ๋ฒˆ์งธ ์ˆ˜๋ณด๋‹ค ํฌ๋‹ค๋ฉด, ๋‘˜์˜ ์œ„์น˜๋ฅผ ์„œ๋กœ ๋ฐ”๊พผ๋‹ค.
  2. ๋‘ ๋ฒˆ์งธ ์กฐ๊ฐ์˜ ์ˆ˜๊ฐ€ ์„ธ ๋ฒˆ์งธ ์ˆ˜๋ณด๋‹ค ํฌ๋‹ค๋ฉด, ๋‘˜์˜ ์œ„์น˜๋ฅผ ์„œ๋กœ ๋ฐ”๊พผ๋‹ค.
  3. ์„ธ ๋ฒˆ์งธ ์กฐ๊ฐ์˜ ์ˆ˜๊ฐ€ ๋„ค ๋ฒˆ์งธ ์ˆ˜๋ณด๋‹ค ํฌ๋‹ค๋ฉด, ๋‘˜์˜ ์œ„์น˜๋ฅผ ์„œ๋กœ ๋ฐ”๊พผ๋‹ค.
  4. ๋„ค ๋ฒˆ์งธ ์กฐ๊ฐ์˜ ์ˆ˜๊ฐ€ ๋‹ค์„ฏ ๋ฒˆ์งธ ์ˆ˜๋ณด๋‹ค ํฌ๋‹ค๋ฉด, ๋‘˜์˜ ์œ„์น˜๋ฅผ ์„œ๋กœ ๋ฐ”๊พผ๋‹ค.
  5. ๋งŒ์•ฝ ์ˆœ์„œ๊ฐ€ 1, 2, 3, 4, 5 ์ˆœ์„œ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด 1 ๋‹จ๊ณ„๋กœ ๋‹ค์‹œ ๊ฐ„๋‹ค.

์ฒ˜์Œ ์กฐ๊ฐ์˜ ์ˆœ์„œ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์œ„์น˜๋ฅผ ๋ฐ”๊ฟ€ ๋•Œ ๋งˆ๋‹ค ์กฐ๊ฐ์˜ ์ˆœ์„œ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

 

์ž…๋ ฅ 

 

์ฒซ์งธ ์ค„์— ์กฐ๊ฐ์— ์“ฐ์—ฌ ์žˆ๋Š” ์ˆ˜๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. ์ˆซ์ž๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 5๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉฐ, ์ค‘๋ณต๋˜์ง€ ์•Š๋Š”๋‹ค. ์ฒ˜์Œ ์ˆœ์„œ๋Š” 1, 2, 3, 4, 5๊ฐ€ ์•„๋‹ˆ๋‹ค.

 

์ถœ๋ ฅ

 

๋‘ ์กฐ๊ฐ์˜ ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€”๋•Œ ๋งˆ๋‹ค ์กฐ๊ฐ์˜ ์ˆœ์„œ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

 

๋‚˜์˜ ์ฝ”๋“œ 
number = list(map(int,input().split()))

for k in range(len(number)):
  for i in range(len(number)-1):
    if number[i] > number[i+1]:
      number[i],number[i+1] = number[i+1],number[i]
      print(number[0],end=" ")
      print(number[1],end=" ")
      print(number[2],end=" ")
      print(number[3],end=" ")
      print(number[4])
    else:
      continue
๋ถ„์„ > ์ „์ฒด์ ์ธ ์ฝ”๋“œ๋Š” ์ž…๋ ฅ๋œ ๊ฐ’์„ ๋ฐฐ์—ด๋กœ ๋‚˜ํƒ€๋‚ด๊ณ , ์•ž์˜ ๊ฐ’์ด ๋” ํฌ๋ฉด ๋’ค์˜ ๊ฐ’ ์•ž์˜ ๊ฐ’์˜ ์œ„์น˜๋ฅผ ๊ณ„์† ๋ฐ”๊ฟ”๊ฐ€๋ฉฐ ๋ฐฐ์—ด์ด ์˜ค๋ฆ„์ฐจ์ˆœ ์ง‘ํ•ฉ์œผ๋กœ ์ •๋ ฌ๋  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค. ์•ž์˜ ๊ฐ’๊ณ  ๋’ค์˜ ๊ฐ’์˜ ์œ„์น˜๋ฅผ ๋ฐ”๊ฟ€ ๋•Œ, ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•  ์ง€์— ๋Œ€ํ•ด์„œ ์ƒ๊ฐ๋ณด๋‹ค ์˜ค๋ž˜ ๊ณ ๋ฏผํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ ๋‹น์‹œ ๋‚ด ๋จธ๋ฆฌ๋กœ๋Š” ๋ฐฉ๋ฒ•์ด ๋– ์˜ค๋ฅด์ง€ ์•Š์•˜๋‹ค. ๊ทธ๋ž˜์„œ ๊ตฌ๊ธ€๋ง์„ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด์„œ a,b = b,a ๋ผ๋Š” ๋ฉ‹์ง„ swarp ๋ฐฉ๋ฒ•์„ ์•Œ๊ฒŒ ๋˜์—ˆ๊ณ  ์ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๋งˆ์ง€๋ง‰์— ์ถœ๋ ฅ ํ˜•์‹์€ ๋ฐฐ์—ด ๋‚ด ์›์†Œ๋งŒ ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ์‹์ด์–ด์„œ ์ด ๋ถ€๋ถ„๋„ ๊ณ ๋ฏผ์„ ํ•˜๋‹ค๊ฐ€ ๋ฐฉ๋ฒ•์ด ๋– ์˜ค๋ฅด์ง€ ์•Š์•„ ๊ทธ๋ƒฅ ์›์ดˆ์ ์œผ๋กœ ๋‹ต์„ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. 

 

 

์ข€ ๋” ํšจ์œจ์ ์œผ๋กœ ์ƒ๊ฐํ•ด๋ณธ ์ฝ”๋“œ 
number = list(input().split())

for k in range(len(number)):
  for i in range(len(number)-1):
    if number[i] > number[i+1]:
      number[i],number[i+1] = number[i+1],number[i]
      print(' '.join(number))
    else:
      continue
๋ถ„์„ > ์ถœ๋ ฅ ๋ฐฉ์‹์„ ์กฐ๊ธˆ ๊ฐœ์„ ํ•˜๊ณ ์ž join ํ•จ์ˆ˜๋ฅผ ์ผ๋‹ค. join ํ•จ์ˆ˜๋Š” ๋ฆฌ์ŠคํŠธ ๋‚ด ์›์†Œ๋ฅผ ๊ตฌ๋ถ„์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚˜ํƒ€๋‚ด์ฃผ๋Š” ํ•จ์ˆ˜์ด๊ณ  ์ด ํ•จ์ˆ˜๊ฐ€ ๋– ์˜ค๋ฅด์ง€ ์•Š์•„ ์›์ดˆ์ ์ธ ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋˜ ๊ฑฐ ๊ฐ™๋‹ค. 

 

 

 

2947๋ฒˆ: ๋‚˜๋ฌด ์กฐ๊ฐ

์ฒซ์งธ ์ค„์— ์กฐ๊ฐ์— ์“ฐ์—ฌ ์žˆ๋Š” ์ˆ˜๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. ์ˆซ์ž๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 5๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉฐ, ์ค‘๋ณต๋˜์ง€ ์•Š๋Š”๋‹ค. ์ฒ˜์Œ ์ˆœ์„œ๋Š” 1, 2, 3, 4, 5๊ฐ€ ์•„๋‹ˆ๋‹ค.

www.acmicpc.net