python 19

[Python | ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] 비밀지도 | 풀이 및 κ΄€λ ¨ 문법 정리

μ½”λ”©ν…ŒμŠ€νŠΈ μ—°μŠ΅ > 2018 KAKAO BLIND RECRUITMENT[1μ°¨] > 비밀지도 https://school.programmers.co.kr/learn/courses/30/lessons/17681 λ‚˜μ˜ 풀이 def solution(n, arr1, arr2): or_arr = [] bin_arr = [] answer = [] for i in range(n): or_result = arr1[i] | arr2[i] or_arr.append(or_result) binary = bin(or_result)[2:] binary = '0' * (n - len(binary)) + binary bin_arr.append(binary) print(or_arr) print(bin_arr) for x in bin_ar..

[Python | ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] 숫자 짝꿍 | 풀이 및 κ΄€λ ¨ 문법 정리

문제 μ„€λͺ… 두 μ •μˆ˜ X, Y의 μž„μ˜μ˜ μžλ¦¬μ—μ„œ κ³΅ν†΅μœΌλ‘œ λ‚˜νƒ€λ‚˜λŠ” μ •μˆ˜ k(0 ≤ k ≤ 9)듀을 μ΄μš©ν•˜μ—¬ λ§Œλ“€ 수 μžˆλŠ” κ°€μž₯ 큰 μ •μˆ˜λ₯Ό 두 수의 짝꿍이라 ν•©λ‹ˆλ‹€(단, κ³΅ν†΅μœΌλ‘œ λ‚˜νƒ€λ‚˜λŠ” μ •μˆ˜ 쀑 μ„œλ‘œ 짝지을 수 μžˆλŠ” 숫자만 μ‚¬μš©ν•©λ‹ˆλ‹€). X, Y의 짝꿍이 μ‘΄μž¬ν•˜μ§€ μ•ŠμœΌλ©΄, 짝꿍은 -1μž…λ‹ˆλ‹€. X, Y의 짝꿍이 0으둜만 κ΅¬μ„±λ˜μ–΄ μžˆλ‹€λ©΄, 짝꿍은 0μž…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, X = 3403이고 Y = 13203이라면, X와 Y의 짝꿍은 X와 Yμ—μ„œ κ³΅ν†΅μœΌλ‘œ λ‚˜νƒ€λ‚˜λŠ” 3, 0, 3으둜 λ§Œλ“€ 수 μžˆλŠ” κ°€μž₯ 큰 μ •μˆ˜μΈ 330μž…λ‹ˆλ‹€. λ‹€λ₯Έ μ˜ˆμ‹œλ‘œ X = 5525이고 Y = 1255이면 X와 Y의 짝꿍은 X와 Yμ—μ„œ κ³΅ν†΅μœΌλ‘œ λ‚˜νƒ€λ‚˜λŠ” 2, 5, 5둜 λ§Œλ“€ 수 μžˆλŠ” κ°€μž₯ 큰 μ •μˆ˜μΈ 552μž…λ‹ˆλ‹€(Xμ—λŠ” 5κ°€ 3개, Yμ—λŠ” 5κ°€..

[Python | ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] x만큼 간격이 μžˆλŠ” n개의 숫자 | 풀이 및 κ΄€λ ¨ 문법 정리

문제 μ„€λͺ… ν•¨μˆ˜ solution은 μ •μˆ˜ x와 μžμ—°μˆ˜ n을 μž…λ ₯ λ°›μ•„, xλΆ€ν„° μ‹œμž‘ν•΄ xμ”© μ¦κ°€ν•˜λŠ” 숫자λ₯Ό n개 μ§€λ‹ˆλŠ” 리슀트λ₯Ό 리턴해야 ν•©λ‹ˆλ‹€. λ‹€μŒ μ œν•œ 쑰건을 보고, 쑰건을 λ§Œμ‘±ν•˜λŠ” ν•¨μˆ˜, solution을 μ™„μ„±ν•΄μ£Όμ„Έμš”. μ œν•œ 쑰건 xλŠ” -10000000 이상, 10000000 μ΄ν•˜μΈ μ •μˆ˜μž…λ‹ˆλ‹€. n은 1000 μ΄ν•˜μΈ μžμ—°μˆ˜μž…λ‹ˆλ‹€. μž…μΆœλ ₯ 예 x n answer 2 5 [2,4,6,8,10] 4 3 [4,8,12] -4 2 [-4, -8] λ‚˜μ˜ 풀이 i = 1 def solution(x, n): answer = [] y = x answer.append(x) for i in range(1, n): x += y answer.append(x) return answer 파이썬 문법을 κ°„λ‹¨νžˆ κ³΅λΆ€ν•˜κ³  ν’€μ–΄λ³Έ ..

[μ½”ν…Œλ₯Ό μœ„ν•œ 파이썬] 5. μž…μΆœλ ₯

이것이 취업을 μœ„ν•œ μ½”λ”©ν…ŒμŠ€νŠΈλ‹€ with 파이썬 μž…λ ₯ μ•Œκ³ λ¦¬μ¦˜ 문제의 첫 번째 λ‹¨κ³„λŠ” 데이터λ₯Ό μž…λ ₯ λ°›λŠ” 것이닀. μ μ ˆν•œ μž…λ ₯이 μ£Όμ–΄μ‘Œμ„ λ•Œ, κ·Έ μž…λ ₯을 λ°›μ•„μ„œ μ μ ˆν•œ μ•Œκ³ λ¦¬μ¦˜μ„ μˆ˜ν–‰ν•œ λ’€μ˜ κ²°κ³Όλ₯Ό 좜λ ₯ν•˜λŠ” 것을 μš”κ΅¬ν•˜κΈ° λ•Œλ¬Έ. input() νŒŒμ΄μ¬μ—μ„œ 데이터λ₯Ό μž…λ ₯ 받을 λ•ŒλŠ” input() 을 이용. ν•œ μ€„μ˜ λ¬Έμžμ—΄ μž…λ ₯ λ°›μŒ. μž…λ ₯ 받은 데이터λ₯Ό μ •μˆ˜ν˜• λ°μ΄ν„°λ‘œ μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄μ„œλŠ” λ¬Έμžμ—΄μ„ μ •μˆ˜λ‘œ λ°”κΎΈλŠ” int() ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•΄μ•Ό 함. 데이터λ₯Ό 곡백으둜 ꡬ뢄할 λ•Œ - list(map(int, input().split())) -> λ°˜λ“œμ‹œ μ•”κΈ°ν•΄μ•Ό ν•˜λŠ” μ½”λ“œ ! μ—¬λŸ¬ 개의 데이터λ₯Ό μž…λ ₯ 받을 λ•ŒλŠ” 데이터가 곡백으둜 κ΅¬λΆ„λ˜λŠ” κ²½μš°κ°€ λ§Žλ‹€. μž…λ ₯ 받은 λ¬Έμžμ—΄μ„ λ„μ–΄μ“°κΈ°λ‘œ κ΅¬λΆ„ν•˜μ—¬ 각각 μ •μˆ˜ μžλ£Œν˜•μ˜ λ°μ΄ν„°λ‘œ ..

[μ½”ν…Œλ₯Ό μœ„ν•œ 파이썬] 4. ν•¨μˆ˜

이것이 취업을 μœ„ν•œ μ½”λ”©ν…ŒμŠ€νŠΈλ‹€ with 파이썬 ν•¨μˆ˜ ν•¨μˆ˜λž€? μ½”λ”©ν…ŒμŠ€νŠΈμ—μ„œ ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€κ°€ μž…λ ₯된 뒀에 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ§ŒνΌ νŠΉμ •ν•œ μ•Œκ³ λ¦¬μ¦˜μ„ μˆ˜ν–‰ν•œ κ²°κ³Όλ₯Ό 반볡적으둜 좜λ ₯ν•˜λ„λ‘ μš”κ΅¬ν•˜λŠ” λ¬Έμ œκ°€ μΆœμ œλ˜λŠ” κ²½μš°κ°€ λ§Žλ‹€. 이처럼 λ™μΌν•œ μ•Œκ³ λ¦¬μ¦˜μ„ 반볡적으둜 μˆ˜ν–‰ν•΄μ•Ό ν•  λ•Œ ν•¨μˆ˜λŠ” μ€‘μš”ν•˜κ²Œ μ‚¬μš©λœλ‹€. def ν•¨μˆ˜λͺ…(λ§€κ°œλ³€μˆ˜): μ‹€ν–‰ν•  μ†ŒμŠ€μ½”λ“œ return λ°˜ν™˜ κ°’ μ˜ˆμ‹œ def add(a, b): return a + b print(add(3, 7)) return λ¬Έ μ—†λŠ” ν•¨μˆ˜ ν•¨μˆ˜ μ•ˆμ—μ„œ κ²°κ³ΌκΉŒμ§€ 좜λ ₯ν•˜λ„λ‘ ν•˜λŠ” 경우 return λ¬Έ 없이 ν•¨μˆ˜λ₯Ό μž‘μ„±ν•œλ‹€. def add(a, b): print('ν•¨μˆ˜μ˜ κ²°κ³Ό:', a + b) add(3, 7) 인자λ₯Ό λ„˜κ²¨μ€„ λ•Œ κ°’ μ§€μ •ν•˜κΈ° ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜λŠ” κ³Όμ •μ—μ„œ 인자(Argum..

[μ½”ν…Œλ₯Ό μœ„ν•œ 파이썬] 3. 반볡문

이것이 취업을 μœ„ν•œ μ½”λ”©ν…ŒμŠ€νŠΈλ‹€ with 파이썬 반볡문 νŒŒμ΄μ¬μ—μ„œλŠ” whileλ¬Έκ³Ό for문이 μžˆλŠ”λ° μ–΄λ–€ 것을 μ‚¬μš©ν•΄λ„ 상관없닀. ν•˜μ§€λ§Œ μ½”ν…Œμ—μ„œμ˜ μ‹€μ œ μ‚¬μš© μ˜ˆμ‹œλ₯Ό 확인해 보면, λŒ€λΆ€λΆ„ for문의 μ†ŒμŠ€μ½”λ“œκ°€ 더 짧은 κ²½μš°κ°€ λ§Žλ‹€. whileλ¬Έ μ½”ν…Œμ—μ„œ λ¬΄ν•œ 루프λ₯Ό κ΅¬ν˜„ν•  일은 거의 μ—†μœΌλ‹ˆ μ‹€μˆ˜λ‘œ λ¬΄ν•œ 루프가 λ°œμƒν•˜μ§€ μ•Šλ„λ‘ μ£Όμ˜ν•˜μž. i = 1 result = 0 # iκ°€ 9보닀 μž‘κ±°λ‚˜ 같을 λ•Œ μ•„λž˜ μ½”λ“œλ₯Ό 반볡적으둜 μ‹€ν–‰ while i = 80: print(i + 1, "번 학생은 ν•©κ²©μž…λ‹ˆλ‹€.") λ°˜λ³΅λ¬Έμ€ μ–Όλ§ˆλ“ μ§€ μ€‘μ²©ν•΄μ„œ μ‚¬μš©ν•  수 μžˆλ‹€. μ€‘μ²©λœ λ°˜λ³΅λ¬Έμ€ μ½”ν…Œμ—μ„œ 'ν”Œλ‘œμ΄λ“œ μ›Œμ…œ μ•Œκ³ λ¦¬μ¦˜', 'λ‹€μ΄λ‚˜λ―Ή ν”„λ‘œκ·Έλž˜λ°' λ“±μ˜ μ•Œκ³ λ¦¬μ¦˜ λ¬Έμ œμ—μ„œ 맀우 많이 μ‚¬μš©λœλ‹€. λ‹€μŒμ€ ꡬꡬ단 2단뢀터 9λ‹¨κΉŒμ§€μ˜ λͺ¨λ“  ..

[μ½”ν…Œλ₯Ό μœ„ν•œ 파이썬] 2. 쑰건문

이것이 취업을 μœ„ν•œ μ½”λ”©ν…ŒμŠ€νŠΈλ‹€ with 파이썬 쑰건문 x = 15 if x >= 10: print(x) if 쑰건문 1: 쑰건문 1이 True일 λ•Œ μ‹€ν–‰λ˜λŠ” μ½”λ“œ elif 쑰건문 2: 쑰건문 1에 ν•΄λ‹Ήν•˜μ§€ μ•Šκ³ , 쑰건문 2κ°€ True일 λ•Œ μ‹€ν–‰λ˜λŠ” μ½”λ“œ else: μœ„μ˜ λͺ¨λ“  쑰건문이 λͺ¨λ‘ True 값이 아닐 λ•Œ μ‹€ν–‰λ˜λŠ” μ½”λ“œ score = 85; if score >= 90; print("A") elif score >= 80: print("B") # 좜λ ₯ else: print("F") 쑰건문을 μž‘μ„±ν•  λ•ŒλŠ” μ½”λ“œμ˜ 블둝을 λ“€μ—¬μ“°κΈ°λ‘œ μ„€μ •ν•œλ‹€. λ“€μ—¬μ“°κΈ°κ°€ 같은 뢀뢄은 ν•¨κ»˜ μ‹€ν–‰λœλ‹€. νŒŒμ΄μ¬μ—μ„œ λ“€μ—¬μ“°κΈ°λŠ” μŠ€νŽ˜μ΄μŠ€λ°”λ₯Ό 4번 μž…λ ₯ν•˜μ—¬ μž‘μ„±ν•œλ‹€. 탭을 μ΄μš©ν•΄λ„ μ •λ‹΅ νŒμ •μ„ λ°›λŠ” κ²ƒμ—λŠ” 상관 μ—†μ§€λ§Œ, 4개의 곡백문..

[μ½”ν…Œλ₯Ό μœ„ν•œ 파이썬] 1. μžλ£Œν˜• - λ¬Έμžμ—΄, νŠœν”Œ, 사전, μ§‘ν•© μžλ£Œν˜•

이것이 취업을 μœ„ν•œ μ½”λ”©ν…ŒμŠ€νŠΈλ‹€ with 파이썬 λ¬Έμžμ—΄ μžλ£Œν˜• λ¬Έμžμ—΄ μ΄ˆκΈ°ν™” λ¬Έμžμ—΄ λ³€μˆ˜λ₯Ό μ΄ˆκΈ°ν™”ν•  λ•ŒλŠ” ν°λ”°μ˜΄ν‘œ / μž‘μ€λ”°μ˜΄ν‘œλ₯Ό μ΄μš©ν•œλ‹€. λ¬Έμžμ—΄μ„ ν°λ”°μ˜΄ν‘œλ‘œ κ΅¬μ„±ν•˜λŠ” 경우, λ‚΄λΆ€μ μœΌλ‘œ μž‘μ€λ”°μ˜΄ν‘œλ₯Ό 포함할 수 μžˆλ‹€. λ°˜λŒ€λ‘œ λ¬Έμžμ—΄μ„ μž‘μ€λ”°μ˜΄ν‘œλ‘œ κ΅¬μ„±ν•˜λŠ” 경우, λ‚΄λΆ€μ μœΌλ‘œ ν°λ”°μ˜΄ν‘œλ₯Ό 포함할 수 μžˆλ‹€. ν˜Ήμ€ λ°±μŠ¬λž˜μ‹œ(\)λ₯Ό μ‚¬μš©ν•˜λ©΄ ν°λ”°μ˜΄ν‘œλ‚˜ μž‘μ€λ”°μ˜΄ν‘œλ₯Ό λ¬Έμžμ—΄μ— μ›ν•˜λŠ” 만큼 ν¬ν•¨μ‹œν‚¬ 수 μžˆλ‹€. data = "Don't you know \"Python\"?" # 좜λ ₯: Don't your know "Python"? λ¬Έμžμ—΄ μ—°μ‚° νŒŒμ΄μ¬μ€ λ¬Έμžμ—΄μ— λŒ€ν•œ 연산도 μ§€μ›ν•˜λŠ”λ°, λ‹¨μˆœνžˆ λ¬Έμžμ—΄μ„ μ²˜λ¦¬ν•  λ•Œ μœ μš©ν•˜κ²Œ μ‚¬μš©ν•  수 μžˆλ‹€. a = "Hello" b = "World" print(a + " "+ b) # Hel..

[μ½”ν…Œλ₯Ό μœ„ν•œ 파이썬] 1. μžλ£Œν˜• - 수 μžλ£Œν˜•, 리슀트 μžλ£Œν˜•

이것이 취업을 μœ„ν•œ μ½”λ”©ν…ŒμŠ€νŠΈλ‹€ with 파이썬 수 μžλ£Œν˜• μ •μˆ˜ν˜• μ‹€μˆ˜ν˜• λ³€μˆ˜μ— μ†Œμˆ˜μ μ„ 뢙인 수λ₯Ό λŒ€μž…ν•˜λ©΄ μ‹€μˆ˜ν˜• λ³€μˆ˜λ‘œ 처리 μ†Œμˆ˜λΆ€κ°€ 0μ΄κ±°λ‚˜, μ •μˆ˜λΆ€κ°€ 0인 μ†Œμˆ˜λŠ” 0을 μƒλž΅ν•˜κ³  μž‘μ„± # μ–‘μ˜ μ‹€μˆ˜ a = 123.12 print(a) # 음의 μ‹€μˆ˜ a = -123.12 print(a) # μ†Œμˆ˜λΆ€κ°€ 0일 λ•Œ 0을 μƒλž΅ a = 5. print(a) # 좜λ ₯ : 5.0 # μ •μˆ˜λΆ€κ°€ 0일 λ•Œ 0을 μƒλž΅ a = -.7 print(a) # 좜λ ₯ : -0.7 μ§€μˆ˜ ν‘œν˜„ 방식 : μ½”ν…Œμ—μ„œ 많이 μ‚¬μš©λ¨. μ΅œλ‹¨ 경둜 λ¬Έμ œμ—μ„œλŠ” 도달할 수 μ—†λŠ” λ…Έλ“œμ— λŒ€ν•˜μ—¬ μ΅œλ‹¨ 거리λ₯Ό 'λ¬΄ν•œ(INF)'둜 μ„€μ • μ΅œλ‹¨ 경둜둜 κ°€λŠ₯ν•œ μ΅œλŒ“κ°’μ΄ 10μ–΅ 미만이라면 λ¬΄ν•œ(INF)λ₯Ό ν‘œν˜„ν•  λ•Œ 10얡을 μ΄μš©ν•  수 있음 -> 1e9 ν˜Ήμ€ 987,..