큐의 개념과 poll, add 메소드만 규칙에 맞게 사용해주면 쉽게 풀 수 있는 문제였다 package hw; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main_2164_카드2 { /* * 1~N까지의 번호 붙어있는 카드 * 1번카드 부터 제일 위에 있음 * 제일 위에 있는 카드 바닥에 버리고 * 그 다음으로 위에 있는 카드를 가장 밑으로 옮긴다 */ static int N; static Queue queue; public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = sc.nextInt(); /..
알고리즘/BeakJoon
스위치 상태를 반전시키는데 배열은 0부터 시작하지만 스위치 번호는 1부터 시작하는 것에 주의하고 여학생은 스위치 번호를 중심으로 좌우 대칭이 맞아야만 바꿀 수 있는 조건을 세우는 것이 헷갈렸던 문제 여학생 스위치 번호를 중심으로 두 쪽으로 스위치가 나누어지는데 더 작은 쪽을 기준으로 반복을 돌리면 되는 것을 알기까지 오래 걸렸다 package hw; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main_1244 { /* * 스위치 번호 1부터 연속적으로 붙어있음 * 1 -> 켜져있음 * 0 -> 까쟈있..
숫자형의 범위에 관한 기본적인 문제. 처음에 int 형으로 받았다가 오답이 뜨길래 biginteger를 고민하다가 그 정도까지 가야하나..? 생각이 들어서 long으로 바꿨다. 그랬더니 통과! 문제를 풀다보면 주어진 값의 범위를 신경써야 할 때가 종종 있다. 기본적인 int, long 정도의 범위는 알아두자 int형은 대략 -20억 ~ 20억 long형은 대략 -2의 63제곱 ~ 2의 63제곱 -1 (숫자가 너무 커서 읽기도 힘들다) 이거보다 더 큰 범위가 필요하거나 아예 범위 크게 잡아서 넉넉하게 가려면 biginteger 써보자 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc..