본문 바로가기

자료구조 알고리즘/알고리즘9

백준 자바 제출 방법 1. 클래스 이름: Main -> 클래스 이름을 Main으로 지정해야 제출시 컴파일 오류가 발생하지 않는다. public class Main{ public static void main(String[] args){ System.out.println("Hello World"); //코드작성 } } 2. 빠른 입출력 BufferedReader, BufferedWriter 사용하기 일반적인 입출력인 Scanner과, System.out.print보다 속도가 빠른 BufferedReader, BufferedWriter 사용하기 - 입력 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 엔터를 기준으로 입력을 받는다 Strin.. 2022. 12. 5.
기본 알고리즘 유형 기본 알고리즘 개념 1. 그리디(탐욕법) 그리디란? 현재 상황에서 가장 좋아 보이는 것만을 선택하는 알고리즘. 예시 -> 그리디 알고리즘의 대표적인 예시는 거르슴돈 문제이다. 즉 '현재 상황에서 특정한 기준에 따라 가장 좋아 보이는 것만을 선택'해서 최적의 해를 구해야 하는것. (다익스트라 최단 경로 알고리즘), (크루스칼 알고리즘) 2.구현 구현? '머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정' (완전 탐색 -> 모든 경우의 수를 주저 없이 다 계산하는 해결 방법) (시뮬레이션 -> 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행) 3. 탐색 탐색? 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정을 의미한다. 대표적으로 코딩 테스트에는 그래프와 트리 자료구조.. 2022. 10. 22.
[백준] 2562번: 최댓값 [Pythton] [백준] 2562번: 최댓값 [Pythton] 문제 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다. 입력 첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다. 출력 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다. 풀이 list_a=[] for i in range (9): list_a.append(int(input())) print(max(list_a)) print(list_a.index(.. 2022. 9. 16.
[백준] 10818번: 최소, 최대 [Pythton] [백준] 10818번: 최소, 최대 [Pythton] 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. 출력 첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다. 풀이 N=int(input()) list_a=list(map(int, input().split())) print(min(list_a),max(list_a)) 메모 python의 내장함수인 min과 max사용 출처 Baekjoon ONLINE JUDGE 2022. 9. 16.
[백준] 10952번: A+B -5 [Pythton] [백준] 10952번: A+B -5 [Pythton] 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 입력의 마지막에는 0 두 개가 들어온다. 출력 각 테스트 케이스마다 A+B를 출력한다. 풀이 while True: a,b = map(int, input().split()) if (a == 0) and (b == 0): break else: print(a+b) 메모 python에서 무한반복은 while True:를 사용하고, 탈출은 break문을 사용한다 출처 Baekjoon ONLINE JUDGE 2022. 9. 15.
[백준] 10951번: A+B -4 [Pythton] [백준] 10951번: A+B -4 [Pythton] 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 A+B를 출력한다. 풀이 while True: try: a, b = map(int, input().split()) print(a+b) except: break 메모 try except 구문의 경우 오류 처리를 위한 구문이다. 오류가 발생하면 except 문으로 가게되고 정상적으로 수행되면 try문에 코드가 실행이 된다. 출처 Baekjoon ONLINE JUDGE 2022. 9. 15.