SWEA: 2806 N-Queen

문제 SW Expert Academy SW ν”„λ‘œκ·Έλž˜λ° μ—­λŸ‰ 강화에 도움이 λ˜λŠ” λ‹€μ–‘ν•œ ν•™μŠ΅ 컨텐츠λ₯Ό ν™•μΈν•˜μ„Έμš”! swexpertacademy.com 문제 풀이 `DFS`λ₯Ό ν†΅ν•œ λ°±νŠΈλž˜ν‚ΉμœΌλ‘œ NxN 크기의 μ²΄μŠ€νŒμ—μ„œ Queen을 λ°°μΉ˜ν•  수 μžˆλŠ” 경우의 수λ₯Ό 계산할 수 μžˆλ‹€. μ΄λŠ” μ•žμ„œ 닀룬 λ°±μ€€: 9663 N-Queenκ³Ό λ™μΌν•œ 둜직으둜 ν’€λ©΄ λœλ‹€. N의 크기가 μ΅œλŒ€ 10이기 λ•Œλ¬Έμ— λ°±μ€€μ˜ λ¬Έμ œμ™€λŠ” 달리 PythonμœΌλ‘œλ„ μΆ©λΆ„νžˆ 톡과할 수 μžˆλ‹€. λ‹€μ‹œ ν•œλ²ˆ λ‘œμ§μ„ μƒκΈ°ν•΄λ³΄μžλ©΄ λ‹€μŒκ³Ό κ°™λ‹€. ν–‰μ˜ 경우 DFSλ₯Ό ν˜ΈμΆœν•˜λ©° μ¦κ°€μ‹œν‚€λ―€λ‘œ, λ³„λ„μ˜ 쀑볡확인이 ν•„μš”ν•˜μ§€ μ•Šλ‹€. μ—΄μ˜ 경우 ν•΄λ‹Ή 열을 μ„ νƒν•˜λ©΄ `set`에 μΆ”κ°€ν•˜μ—¬ 쀑볡을 ν™•μΈν•œλ‹€. 우츑 μƒλ‹¨μ—μ„œ 쒌츑 ν•˜λ‹¨μ˜ λŒ€κ°μ„ μ˜ 경우 ν˜„μž¬ `X + Y`λ₯Ό `set`..

SWEA: 2805 λ†μž‘λ¬Ό μˆ˜ν™•ν•˜κΈ°

문제 SW Expert Academy SW ν”„λ‘œκ·Έλž˜λ° μ—­λŸ‰ 강화에 도움이 λ˜λŠ” λ‹€μ–‘ν•œ ν•™μŠ΅ 컨텐츠λ₯Ό ν™•μΈν•˜μ„Έμš”! swexpertacademy.com 문제 풀이 λ†μž‘λ¬Όμ„ μˆ˜ν™•ν•˜μ—¬ 얻을 수 μžˆλŠ” 이읡이 행열에 μ£Όμ–΄ 질 λ•Œ, λ§ˆλ¦„λͺ¨λ‘œ νƒμƒ‰ν•˜μ—¬ 이읡의 합을 κ΅¬ν•˜λŠ” λ¬Έμ œμ΄λ‹€. λ§ˆλ¦„λͺ¨λ‘œ μ ‘κ·Όν•˜λŠ” 둜직만 μ„€κ³„ν•˜λ©΄ λλ‚˜λŠ” λ¬Έμ œμ΄λ‹€. λ§ˆλ¦„λͺ¨λ₯Ό μ ‘κ·Όν•˜κΈ° μœ„ν•΄μ„œλŠ” λ‹€μŒκ³Ό 같이 μƒκ°ν•˜λ©΄ λœλ‹€. 예λ₯Ό λ“€μ–΄ 3x3 행렬이라고 ν•˜λ©΄ λ‹€μŒκ³Ό 같이 μ ‘κ·Όν•˜κ²Œ λœλ‹€. (0, 1) (1, 0), (1, 1), (1, 2) (2, 1) 이와 같이 μ ‘κ·Όν•˜κ³ μž ν•  λ•Œ `j`의 λ²”μœ„μ— λŒ€ν•œ κ·œμΉ™μ€ `abs(N // 2 - i)`λΆ€ν„° `abs(N - half)`이닀. `half`λŠ” iκ°€ 절반이 되기 μ „κΉŒμ§€λŠ” κ°μ†Œν•˜κ³ , 절반이 된 μ΄ν›„λ‘œλŠ” μ¦κ°€ν•˜μ—¬ ..

SWEA: 1289 μ›μž¬μ˜ λ©”λͺ¨λ¦¬ λ³΅κ΅¬ν•˜κΈ°

문제 SW Expert Academy SW ν”„λ‘œκ·Έλž˜λ° μ—­λŸ‰ 강화에 도움이 λ˜λŠ” λ‹€μ–‘ν•œ ν•™μŠ΅ 컨텐츠λ₯Ό ν™•μΈν•˜μ„Έμš”! swexpertacademy.com 문제 풀이 λ©”λͺ¨λ¦¬κ°€ μ΄ˆκΈ°ν™”λ˜μ–΄ λͺ¨λ“  bitκ°€ 0이 된 μƒνƒœμ—μ„œ μ›λž˜ μƒνƒœλ‘œ λŒμ•„κ°€κΈ° μœ„ν•œ μ΅œμ†Œ λ³€ν™˜ 횟수λ₯Ό κ΅¬ν•˜λŠ” λ¬Έμ œμ΄λ‹€. λ©”λͺ¨λ¦¬λ₯Ό λ³€κ²½ν•˜λŠ” 데 μžˆμ–΄ λ‹€μŒκ³Ό 같은 κ·œμΉ™μ΄ μžˆλ‹€. 예λ₯Ό λ“€μ–΄ `000`을 λ³€ν™˜ν•˜λ©΄ ν•˜λ‚˜λ§Œ λ³€ν™˜ν•˜μ—¬λ„ `111`둜 λ³€ν™˜λ˜κ²Œ λœλ‹€. λ”°λΌμ„œ μ²˜μŒμ— 비ꡐ할 bitλ₯Ό 0으둜 두고 0κ³Ό λ‹€λ₯΄λ‹€λ©΄ 비ꡐ λΉ„νŠΈλ₯Ό 1둜 λ°”κΎΈλŠ” μ‹μœΌλ‘œ μŠ€μœ„μΉ˜ ν•˜μ—¬ λΉ„κ΅ν•˜λ©΄μ„œ ν˜„μž¬ λΉ„νŠΈμ™€ 비ꡐ할 bitκ°€ λ‹€λ₯Έ 경우λ₯Ό μΉ΄μš΄νŠΈν•˜λ©΄ bitλ₯Ό λ³€κ²½ν•˜λŠ” νšŸμˆ˜κ°€ λœλ‹€. μ½”λ“œ T = int(input()) for test_case in range(1, T + 1): answer ..

SWEA: 1225 μ•”ν˜Έμƒμ„±κΈ°

문제 SW Expert Academy SW ν”„λ‘œκ·Έλž˜λ° μ—­λŸ‰ 강화에 도움이 λ˜λŠ” λ‹€μ–‘ν•œ ν•™μŠ΅ 컨텐츠λ₯Ό ν™•μΈν•˜μ„Έμš”! swexpertacademy.com 문제 풀이 8개의 μˆ«μžκ°€ μ£Όμ–΄μ§ˆ λ•Œ 1 - 5의 숫자λ₯Ό λ°˜λ³΅ν•˜λ©΄μ„œ 숫자λ₯Ό κ°μ†Œν•œ 후에 λ§ˆμ§€λ§‰ μˆ«μžκ°€ 0이 될 λ•ŒκΉŒμ§€ λ°˜λ³΅ν•˜λŠ” λ¬Έμ œμ΄λ‹€. λ¬Έμ œλŠ” `deque`λ₯Ό ν™œμš©ν•˜λ©΄ μ‰½κ²Œ ν’€ 수 μžˆλ‹€. λ°˜λ³΅λ¬Έμ„ λŒλ©΄μ„œ κ°μ†Œμ‹œν‚¬ 수 μžˆλŠ” 수(μ½”λ“œμ—μ„œλŠ” delta라고 ν•˜μ˜€λ‹€.)λ₯Ό 톡해 맨 μ•žμ˜ 숫자λ₯Ό κ°μ†Œμ‹œν‚€κ³  맨 λ’€λ‘œ 보낸닀. μ΄λ•Œ `list`의 `pop(0)`와 `append`λ₯Ό μ‚¬μš©ν•˜μ—¬λ„ λ˜μ§€λ§Œ `deque`λ₯Ό μ‚¬μš©ν•˜λŠ” μ΄μœ λŠ” `pop(0)`의 경우 μ‹œκ°„ λ³΅μž‘λ„κ°€ O(N)이기 λ•Œλ¬Έμ΄λ‹€. 이 λ¬Έμ œμ—μ„œλŠ” `list`와 `deque` μ–΄λŠ 것을 μ‚¬μš©ν•˜μ—¬λ„ 상관 μ—†μ§€λ§Œ, `po..

κΈ€ 보관함
μ΅œκ·Όμ— 올라온 κΈ€
μ΅œκ·Όμ— 달린 λŒ“κΈ€