본문 바로가기

Java65

백준) 단어 뒤집기2(17413번) 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new Inp.. 2023. 9. 23.
백준) 과제는 끝나지 않아(17952번) 17952번: 과제는 끝나지 않아! 성애는 이번 학기에 전공을 정말 많이 듣는다. 이로 인해 거의 매일을 과제를 하면서 보내고 있다. 그런데도 과제가 줄어들 기미가 보이지 않는데, 바로 분단위로 과제가 추가되고 있기 때문이 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader.. 2023. 9. 23.
백준) 스택 수열(1874번) 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; public class Main { public static void main(String[] args) throws IOException { BufferedReader br.. 2023. 9. 22.
자료구조) 스택과 큐 스택 삽입과 삭제 연산이 후입선출로 이뤄지는 자료구조(LIFO). 삽입과 삭제가 한 쪽에서만 일어남. 깊이 우선 탐색(DFS), 백트래킹 종류의 코테에서 효과적. 후입선출은 개념 자체가 재귀 함수 알고리즘 원리와 일맥상통하기 때문 top: 삽입과 삭제가 일어나는 위치를 지칭하는 단어 push: top 위치에 새로운 데이터를 삽입하는 연산 pop: top 위치에 현재 있는 데이터를 삭제하고 확인하는 연산 peek: top 위치에 현재 있는 데이터를 단순 확인하는 연산 큐 삽입과 삭제 연산이 선입선출로 이뤄지는 자료구조(FIFO). 삽입과 삭제가 양방향에서 이뤄짐 너비 우선 탐색(BFS)에 자주 사용 rear: 큐에서 가장 끝 데이터를 가리키는 영역 (입구) front: 큐에서 가장 앞의 데이터를 가리키는 .. 2023. 9. 22.
Java) 배열 배열이란 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것. 배열을 선언만 하면 저장 공간은 따로 할당되지 않으며, new연산자를 이용하여 메모리에 할당을 해야 저장이 가능하다. 배열 인덱스에 수식이 포함된 경우 먼저 계산된다. 요소를 먼저 파악하기 위해서. 배열 크기의 최댓값은 int의 최대값이다. 크기가 0인 배열도 생성할 수 있으며 필요한 상황이 생긴다. int[] score = new int[6]; score = new int[5]; 메모리에는 두개의 배열이 생성되고 score는 첫 번째 배열을 참조하다 두 번째 배열을 참조하게 되며, 사용되지 않은 배열은 가비지컬렉터가 동작할 때 회수된다. Arrays.toString으로 배열의 값을 출력할 수 있다 간편하게 char 배열일 때는 println.. 2023. 9. 21.
백준) 세로읽기(10798번) 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuil.. 2023. 9. 20.
백준) 팰린드롬수(1259번) 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); while (true) { String n.. 2023. 9. 20.
백준) 2007년(1924번) 1924번: 2007년 첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다. www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException{ int[] monthArr = {0, 31, 59, 90.. 2023. 9. 19.
백준) 부녀회장이 될테야(2775번) 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int t = Integer.parseInt(br.readLine.. 2023. 9. 18.