전체 글 86

[파이썬] SWEA 2001 파리 퇴치

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PzOCKAigDFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com NxN 배열을 지나가면서, 그 안의 MxM 배열 안의 값들을 모두 더하는 문제이다. 1) 최댓값은 모든 MxM을 확인하면서 바뀌어야 하기 때문에 for문 맨 바깥에서 설정해주기 T = int(input()) for tc in range(1, 1+T): N , M = map(int, input().split()) arr = [list(map(int, input().split())) for _ in r..

[파이썬] SWEA 5789 현주의 상자 바꾸기

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWYygN36Qn8DFAVm SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 두번째 줄에서 박스 개수와 숫자 바꾸는 횟수를 입력받고, 박스 개수=길이인 리스트를 만든다. Q번 동안, 리스트의 왼쪽, 오른쪽 값을 입력받고, 그 범위 안에 있는 인덱스를 바꾼다. 이때 파이썬은 인덱스가 0부터 시작이니까 주의하기!! 전체 풀이) T = int(input()) for tc in range(1, 1+T): boxes, Q = map(int, input().split()) arr = ..

[파이썬] SWEA 6485 삼성시의 버스노선

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWczm7QaACgDFAWn SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com bucket에 담는 개념을 생각하면 쉽게 풀 수 있는 문제였다. 해당 정류장에 버스가 지나가면 bucket의 인덱스에 +=1을 해주고, 이를 N번 반복하면 bucket의 각 인덱스는 지나가는 버스의 수가 된다. (문제에서 정류장이 5000개라고 해서 bucket은 5001개의 인덱스를 가지게했다) T = int(input()) for tc in range(1, 1+T): bucket = [0]*50..

[파이썬] 백준 2559 수열

https://www.acmicpc.net/problem/2559 2559번: 수열 첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하기 www.acmicpc.net 처음에 풀때 제한시간 안보고 뭐야 왜이리 쉬워 했는데 시간초과떠서 당황한문제 2중 for문으로 풀면 안되고 for문을 한번만 돌게 해야하는 문제였다. 일단 2중 for문으로 푸는 방법은 아래와 같다. N, K = map(int, input().split()) arr = list(map(int, input().split())) MAX = -21e8 for i in range(N-K): ..

[파이썬] 백준 2304 창고 다각형

https://www.acmicpc.net/problem/2304 2304번: 창고 다각형 첫 줄에는 기둥의 개수를 나타내는 정수 N이 주어진다. N은 1 이상 1,000 이하이다. 그 다음 N 개의 줄에는 각 줄에 각 기둥의 왼쪽 면의 위치를 나타내는 정수 L과 높이를 나타내는 정수 H가 한 개의 www.acmicpc.net bucket이라는 새로운 배열을 만들고, 검은 선에 해당하는 부분을 숫자로 채우는 식으로 발상을 했다. 즉, 새로운 bucket은 [0, 0, 4, 4, 6, 6, 6, 6, 10, 8, 8, 8, 8, 8, 8, 8, 0, 0, ...] 그리고 bucket안에있는 수를 총합하면 다각형의 면적이 된다. 일단 주어진 input을 모두 bucket에 담아서 위 사진같은 bucket을 ..

[파이썬] 백준 2491 수열

https://www.acmicpc.net/problem/2491 2491번: 수열 0에서부터 9까지의 숫자로 이루어진 N개의 숫자가 나열된 수열이 있다. 그 수열 안에서 연속해서 커지거나(같은 것 포함), 혹은 연속해서 작아지는(같은 것 포함) 수열 중 가장 길이가 긴 것을 찾 www.acmicpc.net 설계 시 주의했던 점) 1. 수열이 증가 or 감소할 수 있기 때문에 증가하는 수열의 길이와 감소하는 수열의 길이를 따로 측정해줬다. 맨 끝네서 max 함수를 통해 실제 최대값을 구했다. 2. 문자열을 끝까지 돌기 전까지는 최대 길이의 수열이 몇인지 모르기 때문에, 증가or 감소하는 수열이 끊길때 (계속 증가or감소하지 않을때), cnt변수를 초기화하면서 continue를 해줬다. 3. 한자리로 이루..

[파이썬] SWEA 13702 델타검색

https://swexpertacademy.com/main/code/userProblem/userProblemDetail.do?contestProbId=AX73EWcKxLYDFARO SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 다이렉트 배열을 쓰는 대표유형 중 하나이다. 전체 sum을 구하는거니까 sum이라는 새로운 변수를 for문 바깥에 둬야한다. 전체풀이) T = 10 for tc in range(1, T+1): n = int(input()) a = [list(map(int, input().split())) for _ in range(n)] directy=[-1,1,0,0] directx=[0,0,-1,..

[파이썬] 백준 2605 줄 세우기

https://www.acmicpc.net/problem/2605 2605번: 줄 세우기 점심시간이 되면 반 학생 모두가 한 줄로 줄을 서서 급식을 탄다. 그런데 매일 같이 앞자리에 앉은 학생들이 앞에 줄을 서 먼저 점심을 먹고, 뒷자리에 앉은 학생들은 뒤에 줄을 서 늦게 점심을 www.acmicpc.net insert만 알면 푸는 문제였다. append는 뒤에 추가하기 insert는 인덱스를 지정해서 그 위치에 넣기 라고 생각하면 된다. N = int(input()) arr = list(map(int, input().split())) bucket = [] for i in range(N): bucket.insert(i-arr[i], i+1) print(*bucket)

[파이썬] 6190 정곤이의 단조 증가하는 수

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWcPjEuKAFgDFAU4 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 😟정곤아;;; str과 int 변환을 쓰려면은 다른 코드에서 시간을 아껴야하는 문제였다 1) input에서 주어진 숫자들의 곱을 조합으로 만들기 (dfs사용) T = int(input()) for tc in range(1, 1+T): N = int(input()) arr = list(map(int, input().split())) path = [0]*2 MAX = -1 multiples = [] d..

[파이썬] 13748 진기의 최고급 붕어빵

https://swexpertacademy.com/main/talk/solvingClub/problemView.do?solveclubId=AYJ7KE5qKy8DFASv&contestProbId=AX8BikeKZ3sDFARO&probBoxId=AYKLHkm6QIwDFAVG&type=USER&problemBoxTitle=3.+list+%EC%B6%94%EA%B0%80%EB%AC%B8%EC%A0%9C&problemBoxCnt=4 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com n번 탐색을 3번 해야돼서 실행시간이 조금 긴 코드이지만 이런 발상을 했다는 측면에서 기록하고 싶은 문제.. 일단 진기는 m초동안 k개의 빵을..