본문 바로가기
[코드업] 3015번 성적표 출력 문제 세종이는 정보과학 선생님인 JH를 도와주기 위해 정보과학 성적처리 프로그램을 만들기로 했다. JH 선생님은 학생들의 명단과 점수를 입력하면 상위 m명의 학생 명단을 출력해 주기를 원한다. 다음 조건을 만족하는 프로그램을 작성해 보자. 입력 첫째 줄에 데이터의 개수 n (3mm (10 100)가 공백으로 구분되어 입력된다. 단 이름의 길이는 최대 10바이트 이내이다. 출력 상위 m명의 학생명단을 출력한다. 단, 출력순서는 점수가 높은 학생이 먼저 출력되며, 점수가 같을 경우 입력 순서가 빠른 순서로 출력한다. 더보기 입력 예시 4 2 Jeon 95 Kim 59 Lee 90 Bae 100 출력 예시 Bae Jeon 나의 풀이 1. 입력하기. 리스트 형식 내부에 튜플로 (이름, 점수) 저장 n, m = .. 2021. 11. 10.
[코드업] 3004번 데이터 재정렬 문제 프로그래밍 문제를 풀다 보면 뒤죽박죽인 N개의 데이터를 숫자의 크기 순으로 0 ~ N-1까지의 숫자로 재정렬 해야되는 경우가 종종 있다. 예를 들어 N=5 이고, 50 23 54 24 123 이라는 데이터가 있다면, 2 0 3 1 4 가 된다. 데이터를 재정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 데이터의 개수 N이 입력된다. ( 1 lsn에 저장 for i in range(n): lsn[i] = lsDir.get(ls[i]) 4. 출력 예시와 동일한 형태로 출력 for j in lsn: print(j, end=" ") # 2 0 3 1 4 2021. 11. 10.
[코드업] 1805번 입체기동장치 생산공장 https://codeup.kr/problem.php?id=1805&rid=0 입체기동장치 생산공장 첫째 줄부터 n번째 줄까지 각 줄에 식별번호를 오름차순으로 정렬해 가스 보유량과 같이 출력한다. codeup.kr 입력 첫째 줄에 입체기동장치의 갯수 n이 입력된다. (1 2021. 11. 9.
[이것이 코딩테스트다] 1. 출제 경향 분석 및 파이썬 문법 1. 온라인 코딩테스트 vs 오프라인 코딩테스트 : 인터넷 검색 허용 / 허용 불가의 경우가 많음. 온라인 합격 다음에 오프라인 식으로 진행하기도 함. 2. 온라인 저지 : 프로그래밍 대회나 코딩 테스트에서 나올 법한 문제를 시험해보는 온라인 시스템 - 백준 온라인 저지, 코드업, 프로그래머스 3. 코테 언어 : 주로 C++, 파이썬을 코테 응시에 사용함. 프로그램 개발 방식 코테에서 가장 유리한 프로그래밍 언어는 파이썬, 자바. 4. 팀노트 만들어서 비슷한 유형의 코딩 테스트에 대비하기. 1) 그리디 2) 구현 3) BFS/DFS 1) 복잡도 : 시간 복잡도(수행 시간 분석), 공간 복잡도(메모리 사용량 분석) 낮을 수록 더 좋은 알고리즘. - 빅오 표기법 : 가장 빠르게 증가하는 항만 고려하는 표기법.. 2021. 11. 8.
[코드업] 6098번 성실한 개미 문제 성실한 개미는 개미굴에서 나와 먹이까지 가장 빠른 길로 이동한다. 개미는 오른쪽으로 움직이다가 벽을 만나면 아래쪽으로 움직여 가장 빠른 길로 움직였다. (오른쪽에 길이 나타나면 다시 오른쪽으로 움직인다.) 미로 상자에 넣은 개미는 먹이를 찾았거나, 더 이상 움직일 수 없을 때까지 오른쪽 또는 아래쪽으로만 움직였다. 미로 상자의 구조가 0(갈 수 있는 곳), 1(벽 또는 장애물)로 주어지고, 먹이가 2로 주어질 때, 성실한 개미의 이동 경로를 예상해보자. 단, 맨 아래의 가장 오른쪽에 도착한 경우, 더 이상 움직일 수 없는 경우, 먹이를 찾은 경우에는 더이상 이동하지 않고 그 곳에 머무른다고 가정한다. 미로 상자의 테두리는 모두 벽으로 되어 있으며, 개미집은 반드시 (2, 2)에 존재하기 때문에 개미.. 2021. 11. 8.
[코드업] 6097번 설탕과자 뽑기 문제 길이가 다른 몇 개의 막대를 바둑판과 같은 격자판에 놓는데, 막대에 있는 설탕과자 이름 아래에 있는 번호를 뽑으면 설탕과자를 가져가는 게임이 있다. (잉어, 붕어, 용 등 여러 가지가 적혀있다.) 격자판의 세로(h), 가로(w), 막대의 개수(n), 각 막대의 길이(l), 막대를 놓는 방향(d:가로는 0, 세로는 1)과 막대를 놓는 막대의 가장 왼쪽 또는 위쪽의 위치(x, y)가 주어질 때, 격자판을 채운 막대의 모양을 출력하는 프로그램을 만들어보자. 입력 첫 줄에 격자판의 세로(h), 가로(w) 가 공백을 두고 입력되고, 두 번째 줄에 놓을 수 있는 막대의 개수(n) 세 번째 줄부터 각 막대의 길이(l), 방향(d), 좌표(x, y)가 입력된다. 1 2021. 11. 8.
[코드업] 6096번 바둑알 십자 뒤집기 문제 부모님을 기다리던 영일이는 검정/흰 색 바둑알을 바둑판에 꽉 채워 깔아 놓고 놀다가... "십(+)자 뒤집기를 해볼까?"하고 생각했다. 바둑판(19 * 19)에 흰 돌(1) 또는 검정 돌(0)이 모두 꽉 채워져 놓여있을 때, n개의 좌표를 입력받아 십(+)자 뒤집기한 결과를 출력하는 프로그램을 작성해보자. 입력 바둑알이 깔려 있는 상황이 19 * 19 크기의 정수값으로 입력된다. 십자 뒤집기 횟수(n)가 입력된다. 십자 뒤집기 좌표가 횟수(n) 만큼 입력된다. 단, n은 10이하의 자연수이다. 출력 십자 뒤집기 결과를 출력한다. 더보기 입력예시 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0.. 2021. 11. 8.
[코드업] 기초 100제 (6001~6095) 6007 다음 경로를 출력하시오. "C:\Download\'hello'.py" (단, 따옴표도 함께 출력한다.) print("\"C:\Download\\\'hello'.py\"") 6008 이번에는 다음과 같은 python프로그램의 소스코드를 출력해보자. print("Hello\nWorld") 위 코드를 정확히 그대로 출력하시오.(공백문자 주의) print("print(\"Hello\\nWorld\")") 6019 "연도.월.일"을 입력받아 "일-월-연도" 순서로 바꿔 출력해보자. y, m, d = input().split(sep='.') print(d, m, y, sep='-') 6027, 6028 10진수를 입력받아 16진수(hexadecimal)로 출력해보자. a = input() n = int(a.. 2021. 11. 8.
[이것이 코딩테스트다] 8. 기타 그래프 이론 1. 서로소 집합 : 공통 원소가 없는 두 집합. 2. 서로소 집합 자료구조 - 서로소 부분 집합들로 나누어진 원소들의 데이터를 처리하기 위한 자료구조 - 합집합 Union : 두 개의 원소가 포함된 집합을 하나의 집합으로 합치는 연산 - 찾기 Find : 특정한 원소가 속한 집합이 어떤 집합인지 알려주는 연산 - 여러 개의 합치기 연산이 주어졌을 때 서로소 집합 자료구조의 동작 과정 1) 합집합 연산 확인해 서로 연결된 두 노드 A, B를 확인하기 (1) A와 B의 루트 노드 A', B'를 각각 찾기 (2) A'를 B'의 부모노드로 설정한다. 2) 모든 합집합 연산을 처리할 때 까지 1번의 과정을 반복 - 기본적인 형태의 서로소 집합 자료구조에서는 루트 노드에 즉시 접근할 수 없음. - 루트 노드를 찾.. 2021. 10. 27.
728x90