본문 바로가기
728x90

코딩테스트77

1209. [S/W 문제해결 기본] 2일차 - Sum https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV13_BWKACUCFAYh SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 for test in range(1,11): #테스트 케이스 번호 t = int(input()) count = 0 #결과값 담을 리스트 생성 result = [] #입력받기 100x100 array = .. 2022. 11. 18.
1215. [S/W 문제해결 기본] 3일차 - 회문1 https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AV14QpAaAAwCFAYi&categoryId=AV14QpAaAAwCFAYi&categoryType=CODE&problemTitle=&orderBy=RECOMMEND_COUNT&selectCodeLang=ALL&select-1=3&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27.. 2022. 11. 18.
1208. [S/W 문제해결 기본] 1일차 - Flatten https://swexpertacademy.com/main/code/problem/problemDetail.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1 2 3 4 5 6 7 8 9 10 11 12 for test in range(1, 11): #덤프 횟수 n = int(input()) array = list(map(int,input().split())) num = len(array) for i in range(n): array.sort() array[0] = array[0] + 1 array[num-1] = array[num-1] - 1 count = max(array) - min(array) pr.. 2022. 11. 18.
<PART 3> Q33. 백준 14501번: 퇴사 https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 # 백준 14501번 n = int(input()) t = [] p = [] dp = [0] * (n+1) #dp를 위한 빈테이블 max_value = 0 for i in range(n): x,y = map(int,input().split()) t.append(x) p.append(y) #리스트를 거꾸로 확인 for i in range(n-1,-1,-1): time = t[i] + i #상담이 기간안에 끝날 경우 if time 2022. 11. 17.
<PART 3> Q32. 백준 1932번: 정수 삼각형 https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net - bfs푼 경우 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 #Q32.triangle n = int(input()) graphs = [[0]*n for _ in range(n)] # nxn크기로 만들기 for i in range(n): graphs[i] = list(map(int.. 2022. 11. 17.
<PART 3> Q31.금광 - Q31. 금광 n x m 크기의 금광이 있습니다. 금광은 1x1크기의 칸으로 나누어져 있으며, 각 칸은 특정한 크기의 금이 들어 있습니다. 채굴자는 첫 번째 열부터 출발하여 금을 캐기 시작합니다. 맨 처음에는 첫 번째 열의 어느 행에서든 출발할 수 있습니다. 이후에 m번에 걸쳐서 매번 오른쪽 위, 오른쪽, 오른쪽 아래 3가지 중 하나의 위치로 이동해야 합니다. 결과적으로 채굴자가 얻을 수 있는 금의 최대 크기를 출력하는 프로그램을 작성하세요. 만약 다음과 같이 3x4 크기의 금광이 존재한다고 가정합시다. 1 3 3 2 2 1 4 1 0 6 4 7 가장 왼쪽 위의 이치를 (1,1) 가장 오른쪽 아래의 위치를 (n,m)이라고 할 때, 위 예시에서는 (2,1)->(3,2)->(3,3)->(3,4) 위치로 .. 2022. 11. 17.
<PART 3> 백준 1010번: 다리 놓기 https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 #boj, 1010번 t = int(input()) #n!구하는 식 def comb(num): count = 1 for i in range(1,num+1): count *= i return count for test in range(t): n,m = map(int,input().split()) print(comb(m)//(comb(n)*comb(m-.. 2022. 11. 17.
<PART 3> Q16.백준 14502번: 연구소 https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net - pypy3 제출(python3 제출시 시간 초과) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70.. 2022. 11. 16.
<PART 3> Q15.백준 18352번: 특정 거리의 도시 찾기 https://www.acmicpc.net/problem/18352 18352번: 특정 거리의 도시 찾기 첫째 줄에 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시의 번호 X가 주어진다. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) 둘째 줄부터 M개의 줄에 걸쳐서 두 개 www.acmicpc.net - input.txt파일 만들었을 때 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 from .. 2022. 11. 16.
<PART 3> Q9.프로그래머스 2020 KAKAO BLIND RECRUITMENT 문자열 압축 https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - input.txt파일 만들었을 때 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 import sys sys.stdin = open('input.txt') def solution(s): # 문자열 s이 .. 2022. 11. 15.
<PART 3> Q8. 문자열 재정렬 알파벳 대문자와 숫자(0~9)로만 구성된 문자열이 입력으로 주어집니다. 이때 모든 알파벳을 오름차순으로 정렬하여 이어서 출력한 뒤에, 그 뒤에 모든 숫자를 더한 값을 어어서 출력합니다. 입력 예시 1) K1KA5CB7 출력 예시 1) ABCKK13 입력 예시 2) AJKDLSI412K4JSJ9D 출력 예시 2) ADDIJJJKKLSS20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import sys sys.stdin = open('input.txt') for test in range(2): result = [] count = 0 n = list(input()) #원소하나씩꺼내기 for i in n: if i.isalpha(): result.append(i) else: co.. 2022. 11. 15.
<PART 3> Q7.백준 18406번: 럭키스트레이트 https://www.acmicpc.net/problem/18406 18406번: 럭키 스트레이트 첫째 줄에 점수 N이 정수로 주어진다. (10 ≤ N ≤ 99,999,999) 단, 점수 N의 자릿수는 항상 짝수 형태로만 주어진다. www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 n = list(input()) count_left = 0 count_right = 0 for idx in range(len(n)): # 인덱스를 2로 나눠서 앞뒤 계산 if idx 2022. 11. 15.
1244. [S/W 문제해결 응용] 2일차 - 최대 상금 D3 https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&problemLevel=4&contestProbId=AV15Khn6AN0CFAYD&categoryId=AV15Khn6AN0CFAYD&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=4&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21.. 2022. 11. 14.
1206. [S/W 문제해결 기본] 1일차 - View D3 https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AV134DPqAA8CFAYh&categoryId=AV134DPqAA8CFAYh&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=3&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26.. 2022. 11. 14.
<PART 2>그래프이론 예제 팀 결성 학교에서 학생들에게 0번부터 N번까지의 번호를 부여했다. 처음에는 모든 학생이 서로 다른 팀으로 구분되어, 총 N+1개의 팀이 존재한다. 이때 선생님은 '팀 합치기'연산과 '같은 팀 여부 확인'연산을 사용할 수 있다. 1. '팀 합치기' 연산은 두 팀을 합치는 연산이다. 2. '같은 팀 여부 확인' 연산은 특정한 두 학생이 같은 팀에 속하는지를 확인하는 연산이다. 선생님이 M개의 연산을 수행할 수 있을 때, '같은 팀 여부 확인'연산에 대한 연산 결과를 출력하는 프로그램을 작성하시오 입력 조건: 1. 첫째 줄에 N,M이 주어진다. M은 입력으로 주어지는 연산의 개수이다. 2. '팀 합치기' 연산은 0 a b 형태로 주어진다. 3. '같은 팀 여부 확인' 연산은 1 a b 형태로 주어진다. 출력 .. 2022. 11. 13.
728x90