분류 전체보기
-
문제 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 노드의 개수 N (2 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N-1개의 줄에 트리 상에서 연결된 두 정점이 주어진다. 출력 첫째 줄부터 N-1개의 줄에 각 노드의 부모 노드 번호를 2번 노드부터 순서대로 출력한다. 각 노드의 부모 노드 번호를 출력해야 하는 문제이다. 예제 입력 1의 트리 그래프는 다음과 같다. 노드가 7개이므로 트리 구조를 담을 graph 리스트를 다음과 같이 만든다. graph = [ [], [], [], [], [], [], [], [] ] 첫번째 노드가 1이므로 idx가 0번째인 노드는 빈 리스트로 유지하기 위해 n+1개의 []를..
트리_BOJ #11725: 트리의 부모 찾기문제 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 노드의 개수 N (2 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N-1개의 줄에 트리 상에서 연결된 두 정점이 주어진다. 출력 첫째 줄부터 N-1개의 줄에 각 노드의 부모 노드 번호를 2번 노드부터 순서대로 출력한다. 각 노드의 부모 노드 번호를 출력해야 하는 문제이다. 예제 입력 1의 트리 그래프는 다음과 같다. 노드가 7개이므로 트리 구조를 담을 graph 리스트를 다음과 같이 만든다. graph = [ [], [], [], [], [], [], [], [] ] 첫번째 노드가 1이므로 idx가 0번째인 노드는 빈 리스트로 유지하기 위해 n+1개의 []를..
2022.04.09 -
1. 테이블 생성 테이블을 생성할 데이터베이스를 먼저 사용하겠다고 명령한 후에 테이블을 생성한다. USE dbname; CREATE TABLE 테이블명 ( 컬럼명 데이터 형식, 컬럼명 데이터 형식, . . PRIMARY_KEY(컬럼명) ); 아래와 같은 테이블을 만들고자 한다. USE mydata; CREATE TABLE customer( Id INT UNSIGNED NOT NULL AUTO_INCREMENT, Name CHAR(20) NOT NULL, Age TINYINT, Phone VARCHAR(20), Adress VARCHAR(50), PRIMARY KEY(Id) ); PRIMARY KEY로 지정할 컬럼은 NULL 값을 등록할 수 없어야 하고, 컬럼 안에서 같은 값이 없도록 각 값이 유일해야 한..
MySQL Workbench 테이블 생성1. 테이블 생성 테이블을 생성할 데이터베이스를 먼저 사용하겠다고 명령한 후에 테이블을 생성한다. USE dbname; CREATE TABLE 테이블명 ( 컬럼명 데이터 형식, 컬럼명 데이터 형식, . . PRIMARY_KEY(컬럼명) ); 아래와 같은 테이블을 만들고자 한다. USE mydata; CREATE TABLE customer( Id INT UNSIGNED NOT NULL AUTO_INCREMENT, Name CHAR(20) NOT NULL, Age TINYINT, Phone VARCHAR(20), Adress VARCHAR(50), PRIMARY KEY(Id) ); PRIMARY KEY로 지정할 컬럼은 NULL 값을 등록할 수 없어야 하고, 컬럼 안에서 같은 값이 없도록 각 값이 유일해야 한..
2022.04.08 -
코딩테스트 연습 - 체육복 | 프로그래머스 (programmers.co.kr) 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육..
Greedy_프로그래머스 #체육복코딩테스트 연습 - 체육복 | 프로그래머스 (programmers.co.kr) 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육..
2022.04.06 -
1. Workbench 사용법 MySQL Connections 의 + 버튼을 누른다. 원하는 Connection 이름을 입력한 뒤 OK 버튼을 누른다. 생성된 Connection을 클릭하면 아래와 같은 화면을 볼 수 있다. 2. Database 생성 1. 데이터베이스 생성 CREATE DATABASE dbname; 2. 데이터베이스 목록 보기 SHOW DATABASES; 3. dbname 데이터베이스 사용 시 USE dbname; 4. dbname 데이터베이스 삭제 DROP DATABASE [IF EXISTS] dbname; SHOW DATABASES; 입력 시 생성된 Connection에 존재하는 데이터베이스 목록을 확인할 수 있다. 기본적으로 생성되는 데이터베이스들을 확인할 수 있다. CREATE D..
MySQL Workbench 데이터베이스 생성1. Workbench 사용법 MySQL Connections 의 + 버튼을 누른다. 원하는 Connection 이름을 입력한 뒤 OK 버튼을 누른다. 생성된 Connection을 클릭하면 아래와 같은 화면을 볼 수 있다. 2. Database 생성 1. 데이터베이스 생성 CREATE DATABASE dbname; 2. 데이터베이스 목록 보기 SHOW DATABASES; 3. dbname 데이터베이스 사용 시 USE dbname; 4. dbname 데이터베이스 삭제 DROP DATABASE [IF EXISTS] dbname; SHOW DATABASES; 입력 시 생성된 Connection에 존재하는 데이터베이스 목록을 확인할 수 있다. 기본적으로 생성되는 데이터베이스들을 확인할 수 있다. CREATE D..
2022.04.06 -
https://www.acmicpc.net/problem/1343 문제 민식이는 다음과 같은 폴리오미노 2개를 무한개만큼 가지고 있다. AAAA와 BB 이제 '.'와 'X'로 이루어진 보드판이 주어졌을 때, 민식이는 겹침없이 'X'를 모두 폴리오미노로 덮으려고 한다. 이때, '.'는 폴리오미노로 덮으면 안 된다. 폴리오미노로 모두 덮은 보드판을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 보드판이 주어진다. 보드판의 크기는 최대 50이다. 출력 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. 그리디 알고리즘이 잘 작동하는 문제들은 Greedy Choice Property를 갖고 있는 Optimal Structure인 문제들이다. Greedy Choice Pro..
Greedy_BOJ #1343: 폴리오미노https://www.acmicpc.net/problem/1343 문제 민식이는 다음과 같은 폴리오미노 2개를 무한개만큼 가지고 있다. AAAA와 BB 이제 '.'와 'X'로 이루어진 보드판이 주어졌을 때, 민식이는 겹침없이 'X'를 모두 폴리오미노로 덮으려고 한다. 이때, '.'는 폴리오미노로 덮으면 안 된다. 폴리오미노로 모두 덮은 보드판을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 보드판이 주어진다. 보드판의 크기는 최대 50이다. 출력 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. 그리디 알고리즘이 잘 작동하는 문제들은 Greedy Choice Property를 갖고 있는 Optimal Structure인 문제들이다. Greedy Choice Pro..
2022.04.05 -
문제 요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) 출력 예제와 같이 요세푸스 순열을 출력한다. 예제 입력 1 7 3 예제 출력 1 연결리스트를 이용한 방법 연..
Linked List_BOJ #1158: 요세푸스 문제문제 요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) 출력 예제와 같이 요세푸스 순열을 출력한다. 예제 입력 1 7 3 예제 출력 1 연결리스트를 이용한 방법 연..
2022.04.04 -
https://www.acmicpc.net/problem/11718 https://www.acmicpc.net/problem/11719 문제 입력 받은 대로 출력하는 프로그램을 작성하시오. 입력 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다. 출력 입력받은 그대로 출력한다. # 정답 코드 while True: try: print(input()) except EOFError: break # 출력 초과 코드 import sys def input(): return sys.stdin.readline().rstrip() w..
IO_BOJ #11718 / 11719: 그대로 출력하기https://www.acmicpc.net/problem/11718 https://www.acmicpc.net/problem/11719 문제 입력 받은 대로 출력하는 프로그램을 작성하시오. 입력 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다. 출력 입력받은 그대로 출력한다. # 정답 코드 while True: try: print(input()) except EOFError: break # 출력 초과 코드 import sys def input(): return sys.stdin.readline().rstrip() w..
2022.03.29 -
https://www.acmicpc.net/problem/10951 이 문제에서는 테스트 케이스의 개수를 제시하지 않고 있다. 따라서 에러가 발생하면 반복문이 끝날 수 있도록 try-except 구문을 활용한다. import sys def input(): return sys.stdin.readline().rstrip() while True: try: a, b = map(int, input().split()) print(a+b) except: break
IO_BOJ #10951: A+B -4https://www.acmicpc.net/problem/10951 이 문제에서는 테스트 케이스의 개수를 제시하지 않고 있다. 따라서 에러가 발생하면 반복문이 끝날 수 있도록 try-except 구문을 활용한다. import sys def input(): return sys.stdin.readline().rstrip() while True: try: a, b = map(int, input().split()) print(a+b) except: break
2022.03.29