파이썬 알고리즘 60

SWEA 1221 GNS

https://swexpertacademy.com/main/talk/solvingClub/problemView.do?solveclubId=AYJ7KE5qKy8DFASv&contestProbId=AV14jJh6ACYCFAYD&probBoxId=AYKQQmC6iwUDFAVG&type=PROBLEM&problemBoxTitle=String&problemBoxCnt=7 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 2중 for문을 돌면서 (names가 바깥쪽 for문) names인덱스랑 같은것을 답 배열에 append 하기. a가 하나 증가할 때마다 새로 arr를 전체 다 순회하기 때문에 모든 요소가 빠지지 않고 들..

SWEA 4861 회문

https://swexpertacademy.com/main/talk/solvingClub/problemView.do?solveclubId=AYJ7KE5qKy8DFASv&contestProbId=AX8BH7eaUocDFARO&probBoxId=AYKQQmC6iwUDFAVG&type=USER&problemBoxTitle=String&problemBoxCnt=7 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 가로줄에 회문이 있는 경우와 세로줄에 회문이 있는 경우를 다르게 풀어야하는 문제였다. 세로줄에 회문이 있는 경우, 가로줄 for문 순서를 단순히 바꾸면 아무 일도 일어나지 않는다. 그래서 나는 y축이랑 x축을 ..

SWEA 2805 농작물 수확하기

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV7GLXqKAWYDFAXB SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 key point 1) 마름모를 반으로 나눠서 0부터 1/2 지점까지 파란칸들의 합, 그리고 1/2지점 다음 칸들부터 끝까지의 합을 따로 구하려고 했다. n = 5 일때랑 n=7인 경우 두개만 생각해봐도 법칙이 찾아진다.. 다행 T = int(input()) for tc in range(1, T+1): n = int(input()) arr = [list(map(int, input())) for..

SWEA 13704 달팽이 숫자

https://swexpertacademy.com/main/talk/solvingClub/problemView.do?solveclubId=AYJ7KE5qKy8DFASv&contestProbId=AX73Fb0axQ4DFARO&probBoxId=AYKImykKjWgDFASv&type=USER&problemBoxTitle=list2&problemBoxCnt=5 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 key point들 1) while True: -> break 조건 써줘야함 break 조건: n*n보다 입력값이 커질때 2) for문을 사용하지 않으니까 directx, directy의 다음 index로 ..

SWEA 13565 전기버스

https://swexpertacademy.com/main/talk/solvingClub/problemView.do?solveclubId=AYJ7KE5qKy8DFASv&contestProbId=AX7UKy7KaMwDFAVm&probBoxId=AYJ7KE5qKzADFASv&type=USER&problemBoxTitle=list1&problemBoxCnt=5 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이방법 풀이 key point) 최소 횟수로 충전을 해서 끝까지 가려면 한번 갈때 배터리가 감당할 수 있는 최대 칸으로 가면 좋다. 즉, 지금칸+K번째칸부터 확인 후, 그 곳에 충전기가 없으면 지금칸+(K-1)..

SWEA 13569 그래비티 풀이

https://swexpertacademy.com/main/talk/solvingClub/problemView.do?solveclubId=AYJ7KE5qKy8DFASv&contestProbId=AX7UNdWaadEDFAVm&probBoxId=AYJ7KE5qKzADFASv&type=USER&problemBoxTitle=list1&problemBoxCnt=5 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 의도치 않게 오래걸린 문제였다. 일단 문제를 읽을때 굉장히 주의해야하는게 있는데 상자의 높이가 0부터 M까지라고 해놓고 M에 대한 조건을 주지 않았다는 점을 주의해야한다. 이 부분을 간과했다가 보이지 않는 tc에..

<level: 8.5> 풀이의 key point들

3. print 옵션들 https://gilu-world.tistory.com/40 파이썬 11 - 출력문 print(sep = "", end = "") 파이썬의 출력문은 print를 사용하며 두 개의 옵션을 사용할 수 있습니다. - sep=" " 이 옵션을 이용하게 되면 print문의 출력문들 사이에 해당하는 내용을 넣을 수 있습니다. 기본 값으로는 공백이 gilu-world.tistory.com sep=""는 출력문들 사이에 해당 값 넣기 end=""는 출력 완료 후의 내용 수정하기 5. 아스키 코드 ord(문자): 해당 문자의 아스키 코드 반환 (숫자) chr(숫자):해당 아스키 코드에 대응되는 문자를 반환 입력받은 두 문자 사이 문자들 모두 출력하기 l1, l2, n = map(str, input..

SWEA 13564 min max 를 푸는 3가지 방법

1) min max 함수를 써서 푸는 방법 T = int(input()) for tc in range( 1, T+1): n = int(input()) arr = list(map(int, input().split())) print(f'#{tc} {max(arr)-min(arr)}') 변수만 입력받은 뒤 max, min 함수만 쓰면 되는 간단한 방법 2) sorted 함수 써서 푸는 방법 T = int(input()) for tc in range( 1, T+1): n = int(input()) arr = list(map(int, input().split())) arr = sorted(arr, key= lambda x: x) print(f'#{tc} {arr[-1]-arr[0]}') sorted로 오름차순 정..