본문 바로가기

Algorithm

(102)
백준 17298 오큰수 package practice;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Stack;import java.util.StringTokenizer;// https://st-lab.tistory.com/196 페이지 참조public class Boj17298 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = n..
백준 12789 도키도키 간식드리미 package practice;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Stack;public class Boj12789 { static int result = 1; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); Stack st = new Stac..
백준 11866 요세푸스문제 0 public class Boj11866 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] s = br.readLine().split(" "); br.close(); StringBuilder sb = new StringBuilder(); sb.append(" qe = new LinkedList(); Queue result = new LinkedList(); for(int i = 1; i 1){ ..
백준2164 카드2 public class Boj2164 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); Queue qe = new LinkedList(); for(int i = 1; i 1){ qe.poll(); qe.offer(qe.poll()); } System.out.println(qe.poll()); }}
백준 1158 요세푸스 문제 public class Boj1158 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Queue qe = new LinkedList(); StringTokenizer st = new StringTokenizer(br.readLine()); StringBuilder sb = new StringBuilder(); sb.append(" 1){ for(int i = 1; i "); System.out.println(sb)..
Deque와 PriorityQueu의 시간복잡도 Deque - 양 끝에서의 삽입과 삭제 연산이 O(1)의 시간복잡도를 가진다.addFirst(e): O(1) - 맨 앞에 요소 추가addLast(e): O(1) - 맨 뒤에 요소 추가removeFirst(): O(1) - 맨 앞의 요소 제거removeLast(): O(1) - 맨 뒤의 요소 제거getFirst(): O(1) - 맨 앞의 요소 반환getLast(): O(1) - 맨 뒤의 요소 반환offerFirst(e): O(1) - 맨 앞에 요소 추가 (실패 시 false 반환)offerLast(e): O(1) - 맨 뒤에 요소 추가 (실패 시 false 반환)pollFirst(): O(1) - 맨 앞의 요소 제거 및 반환 (비어있으면 null 반환)pollLast(): O(1) - 맨 뒤의 요소 제거 ..
백준 1018 체스판 다시 칠하기 문제지민이는 자신의 저택에서 MN개의 단위 정사각형으로 나누어져 있는 M×N 크기의 보드를 찾았다. 어떤 정사각형은 검은색으로 칠해져 있고, 나머지는 흰색으로 칠해져 있다. 지민이는 이 보드를 잘라서 8×8 크기의 체스판으로 만들려고 한다.체스판은 검은색과 흰색이 번갈아서 칠해져 있어야 한다. 구체적으로, 각 칸이 검은색과 흰색 중 하나로 색칠되어 있고, 변을 공유하는 두 개의 사각형은 다른 색으로 칠해져 있어야 한다. 따라서 이 정의를 따르면 체스판을 색칠하는 경우는 두 가지뿐이다. 하나는 맨 왼쪽 위 칸이 흰색인 경우, 하나는 검은색인 경우이다.보드가 체스판처럼 칠해져 있다는 보장이 없어서, 지민이는 8×8 크기의 체스판으로 잘라낸 후에 몇 개의 정사각형을 다시 칠해야겠다고 생각했다. 당연히 8*8 ..
백준 25206 너의 평점은 문제인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다!치훈이의 전공평점을 계산해주는 프로그램을 작성해보자.전공평점은 전공과목별 (학점 × 과목평점)의 합을 학점의 총합으로 나눈 값이다.인하대학교 컴퓨터공학과의 등급에 따른 과목평점은 다음 표와 같다.A+4.5A04.0B+3.5B03.0C+2.5C02.0D+1.5D01.0F0.0P/F 과목의 경우 등급이 P또는 F로 표시되는데, 등급이 P인 과목은 계산에서 제외해야 한다.과연 치훈이는 무사히 졸업할 수 있을까?입력20줄에 걸쳐 치훈이가 수강한 전공과목의 과목명, 학점, 등급이 공백으로 구분되어 주어진다.출력치훈이의 전공평점을 출력..