본문 바로가기
반응형

알고리즘 PS (백준)/☕️ Java (자바)18

[백준 9012번] java(자바) 스택(stack) 개념과 활용 - 자료구조 괄호 문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(concatenation)시킨 새로운 문자열 xy도 VPS 가 된다. 예를 들어 “(())()”와 “((()))” 는 VPS 이지만 “(()(”, “(())()))” , 그리고 “(()” 는 모두 VPS 가 아닌 문자열이다. 여러분은 입력으로 주어진 괄호 .. 2022. 7. 19.
[백준 1436번] 영화감독 숌 - java(자바) 브루트포스 알고리즘 영화감독 숌 문제 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈 4, 스타워즈 5, 스타워즈 6과 같이 이름을 지었고, 피터 잭슨은 반지의 제왕을 만들 때, 반지의 제왕 1, 반지의 제왕 2, 반지의 제왕 3과 같이 영화 제목을 지었다. 하지만 숌은 자신이 조지 루카스와 피터 잭슨을 뛰어넘는다는 것을 보여주기 위해서 영화 제목을 좀 다르게 만들기로 했다. 종말의 숫자란 어떤 수에 6이 적어도 3개이상 연속으로 들어가는 수를 말한다. 제일 작은 종말의 숫자는 666이고, 그 다음으로 큰 수는 .. 2022. 7. 14.
[백준 19939번] 박 터뜨리기 - java(자바) 그리디 알고리즘 7월 12일, 제가 공군 입대한 다음 날이네요ㅎㅎ 폰이나 블로그를 할수 없으므로 이 포스트 부턴 미리 작성한 글을 예약 발행한 것입니다. 오늘 부터 매주 화목에 발행 예약 해놨으므로 매주 화목에 보러오세요! 박 터뜨리기 문제 K개의 팀이 박 터트리기 게임을 한다. 각 팀은 하나의 바구니를 가지고 있고, 바구니에 들어있는 공을 던져서 자기 팀의 박을 터트려야 한다. 우리는 게임을 준비하기 위해서, N개의 공을 K개의 바구니에 나눠 담아야 한다. 이때, 게임의 재미를 위해서 바구니에 담기는 공의 개수를 모두 다르게 하고 싶다. 즉, N개의 공을 K개의 바구니에 빠짐없이 나누어 담는데, 각 바구니에는 1개 이상의 공이 있어야 하고, 바구니에 담긴 공의 개수가 모두 달라야 한다. 게임의 불공정함을 줄이기 위해서.. 2022. 7. 12.
자바(java) Reader , Writer - 문자 기반 스트림 + Scanner 입출력 스트림의 종류 바이트 기반 스트림 : 그림 멀티미디어, 문자등 모든 종류의 데이터를 받고 보내는 것 가능 문자 기반 스트림 : 문자만 받고 보낼 수 있도록 특화된 스트림 문자 기반 스트림에는 입력스트림인 Reader과 Writer가 있습니다. writer 객체 writer(int c) 매개 변수로 주어지는 int(4byte)에서 끝 2byte(1개 문자)만 출력 스트림을 보냄 예시) 한 문자씩 출력하기 write(char[] cbuf) , write(String str) 매개변수로 받은 변수들을 파일에 출력한다. 예시 import java.io.FileWriter; import java.io.IOException; import java.io.Writer; public class Main { pub.. 2022. 4. 20.