[python ๊ธฐ์ดˆ] code-kata week1-2

EMMAยท2022๋…„ 3์›” 15์ผ
0

[wecode] Code-kata

๋ชฉ๋ก ๋ณด๊ธฐ
2/12
post-custom-banner

๐Ÿ–ฅ Code-kata week1-2


๋ฌธ์ œ
reverse ํ•จ์ˆ˜์— ์ •์ˆ˜์ธ ์ˆซ์ž๋ฅผ ์ธ์ž๋กœ ๋ฐ›์Šต๋‹ˆ๋‹ค.

๊ทธ ์ˆซ์ž๋ฅผ ๋’ค์ง‘์–ด์„œ returnํ•ด์ฃผ์„ธ์š”.

x: ์ˆซ์ž

return: ๋’ค์ง‘์–ด์ง„ ์ˆซ์ž๋ฅผ ๋ฐ˜ํ™˜!

์˜ˆ๋“ค ๋“ค์–ด,

x: 1234
return: 4321
x: 1234
return: 4321
x: -1234
return: -4321
x: -1234
return: -4321
x: 1230
return: 321


ํ’€์ด

์ฒ˜์Œ์— ๋‹น์žฅ ๋– ์˜ค๋ฅธ ํ•จ์ˆ˜๋Š” reverse() ์˜€๋‹ค.
์ผ๋‹จ ์ˆซ์ž๊ฐ€ ์Œ์ˆ˜์ผ์ˆ˜๋„ ์žˆ์œผ๋ฏ€๋กœ, 1)์–‘์ˆ˜์ผ ๊ฒฝ์šฐ์™€ 2)์Œ์ˆ˜์ผ ๊ฒฝ์šฐ 2๊ฐ€์ง€๋กœ ๋‚˜๋ˆ ์„œ ์ƒ๊ฐํ–ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ˆซ์ž๋ฅผ reverseํ•˜๋”๋ผ๋„ ์Œ์ˆ˜์˜€์„ ๊ฒฝ์šฐ ๋‹ค์‹œ -๋ฅผ ๋ถ™์—ฌ์•ผ ํ•˜๋ฏ€๋กœ, ์›๋ž˜ ์ˆซ์ž๋Š” ๋”ฐ๋กœ ๋ณ€์ˆ˜์— ๋‹ด์•„๋’€๋‹ค.

def reverse(number):
  # ์—ฌ๊ธฐ์— ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.
  # ์›๋ณธ์€ original_num์— ๋‹ด๊ธฐ 
  original_num = number
  
  #x๊ฐ€ 0๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ, 0๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ๋กœ ๋‚˜๋ˆ„๊ธฐ   
  #number๊ฐ€ ์Œ์ˆ˜์ผ ๊ฒฝ์šฐ ์ ˆ๋Œ€๊ฐ’์œผ๋กœ ๋จผ์ € ๋ฐ”๊พผ๋‹ค. 
  if number < 0:
  	number = abs(number)
  
  #reverse() ์‚ฌ์šฉํ•ด์„œ ์—ญ์ˆœํ™” 
  ...
  
  #์›๋ž˜ ์Œ์ˆ˜์˜€์„ ๊ฒฝ์šฐ, -๋ฅผ ๋ถ™์—ฌ์„œ return ํ•œ๋‹ค.
  if original_num <0:
  	...

์ด์ œ reverse๋ฅผ ํ•ด์•ผ ํ•˜๋Š”๋ฐ, reverse()๋Š” ์ž๋ฃŒ๊ฐ€ listํ˜•์ด์–ด์•ผ ํ•˜๋ฏ€๋กœ ์ˆซ์ž๋ฅผ int > str๋กœ ๋ฐ”๊ฟ”์ค˜์•ผ ํ–ˆ๋‹ค.
number์— list(str(number))๋ฅผ ๋‹ด์œผ๋ฉด, ๋ฌธ์žํ˜•์œผ๋กœ ์ชผ๊ฐœ์ง„ ์ˆซ์ž๊ฐ€ list์— ๋‹ด๊ธด๋‹ค. ์—ฌ๊ธฐ์„œ reverse()๋ฅผ ์ ์šฉํ•˜๋ฉด ๋จ.

๊ทธ๋ฆฌ๊ณ  int(''.join(number))๋ฅผ ์ž…๋ ฅํ•˜๋ฉด,
1) list์š”์†Œ๋กœ ์กด์žฌํ–ˆ๋˜ ๊ฐ ์ˆซ์ž๊ฐ€ ๊ณต๋ฐฑ์—†์ด ์ด์–ด์ง
2) int()๋กœ ๊ฐ์‹ธ์„œ 0์ด ๋งจ์•ž์— ์˜ฌ ๊ฒฝ์šฐ ์ œ๊ฑฐ๋จ

์ตœ์ข… ์ฝ”๋”ฉ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

def reverse(number):
  original_num = number
  
  if number < 0:
    number = abs(number)

  #reverse() ์‚ฌ์šฉํ•ด์„œ ์—ญ์ˆœํ™”	
  number = list(str(number))
  number.reverse()
  number = int(''.join(number))

  result = int(str(number))		#1234 -> 4321

  #์›๋ž˜ ์Œ์ˆ˜์˜€์„ ๊ฒฝ์šฐ, -๋ฅผ ๋ถ™์—ฌ์„œ return ํ•œ๋‹ค.
  if original_num <0:
    return -result 
  
  #์›๋ž˜ ์–‘์ˆ˜์˜€๋‹ค๋ฉด, ๋ฐ”๋กœ return
  return result 
profile
์˜ˆ๋น„ ๊ฐœ๋ฐœ์ž์˜ ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ | explore, explore and explore
post-custom-banner

0๊ฐœ์˜ ๋Œ“๊ธ€