본문 바로가기
728x90

SWEA40

[SWEA/Python] 5247. 연산 📌 문제 https://swexpertacademy.com/main/main.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 📌 문제 접근 방법 bfs를 활용해서 각 계산값에 접근하는 방식으로 풀었다. 최대 재귀 깊이를 넘어가길래 가지치기를 해줬는데, 첫 번째 코드처럼 append하고 not in으로 탐색하는 방식은 시간초과가 났다. 그래서 두 번째 코드처럼 처음부터 모든 숫자만큼 리스트를 만들어주고 숫자가 중복되지 않도록 이미 나온 숫자는 1로 바꿔줬다. 📌 코드 from collections import deque def find_M(N): queue = deque() queue.append((N, 0.. 2021. 10. 14.
[SWEA/Python] 2105. [모의 SW 역량테스트] 디저트 카페 📌 문제 https://swexpertacademy.com/main/main.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 📌 문제 접근 방법 목표하는 지점까지 도착해야 끝나므로 dfs! 어차피 디저트가 중복될 수 없으므로 방문체크는 안해줬다. 사각형을 그리는 경우, 현재 위치를 기준으로 위로 올라가는 사각형과 아래로 내려가는 사각형이 있을텐데 결국 중복되므로 한가지 방향만 생각해주면 된다. (사각형 하나를 만들때 방향 전환은 딱 3번만 해주면 된다.) 현재 위치에서 이동할 수 있는 경우의 수는 직진과 꺾어서 가는 경우 2가지 위의 2가지를 완전 탐색하고 최대 값을 출력한다. 📌 코드 import sys.. 2021. 10. 12.
[SWEA/Python] 2806. N-Queen 📌 문제 https://swexpertacademy.com/main/main.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 📌 문제 접근 방법 행, 열, 대각선 이동을 전부 해야하나? 고민을 하다가 결국 구글링을 하고 set으로 만들어주면 된다는 것을 알게 되었다. set을 사용할 때는 add, remove를 통해 요소를 넣고 뺄 수 있다. 처음엔 행도 set을 통해서 공격여부를 판단했었는데, 시간초과가 나서 행은 set을 없애주고 행 단위로 함수를 실행시켜주는 걸로 바꾸었다. 📌 코드 import sys sys.stdin = open('input.txt') def find_next(i): global .. 2021. 10. 8.
[SWEA/Python] 4366. 정식이의 은행업무 📌 문제 https://swexpertacademy.com/main/main.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 📌 문제 접근 방법 2진수가 0과 1의 경우의 수밖에 없으므로 2진수를 하나씩 변환시켜서 그 수를 3진수로 변환시켰을 때 틀린 자리의 개수를 확인한다. 2진수의 맨 처음에는 0이 올 수 없으므로 2번째 자리부터 변환한다. 📌 코드 import sys sys.stdin = open('input.txt') def bin_to_3(bin_list): # 10진수 변환 dec_num = 0 for i in range(len(bin_list)): dec_num += int(bin_list[i.. 2021. 10. 8.
728x90