본문 바로가기

전체보기66

[백준 9012] 괄호 - 자바 https://www.acmicpc.net/problem/9012 9012번: 괄호 문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(conc www.acmicpc.net 1. 풀이 스택에 관한 대표적인 문제이다. '여는 괄호(' 를 스택에 넣고(push), '닫는 괄호)'를 만나면 스택에서 여는 괄호를 하나씩.. 2020. 4. 23.
[백준 9093] 단어 뒤집기 - 자바 https://www.acmicpc.net/problem/9093 9093번: 단어 뒤집기 문제 문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램을 작성하시오. 단, 단어의 순서는 바꿀 수 없다. 단어는 영어 알파벳으로만 이루어져 있다. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 공백이 하나 있다. 출력 각 테스트 케이스에 대해서, 입력으로 주어진 문장의 단어를 모두 뒤집어 www.acmicpc.net 1. 풀이 스택을 이용하면 쉽게 풀이할 수 있는 문제입니다. 자바의 Scanner로 풀다가 nextLine()에서 짜증났지만, 그래도.. 2020. 4. 23.
[백준 10828] 스택 - 자바 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 않은 명령이 주어지는 경우는 없다. www.acmicpc.net 1. 풀이 이 문제는 스택을 구현할 수 있느냐 없느냐를 묻는 문제인 듯하다. 자바 Collection에 정의된 스택을 사용해도 되고, 그냥 배열과 size변수를 선언하여 풀어도 될듯하다. 2. 코드 import java.util.*; public class Main { public static void main(String[] args) { S.. 2020. 4. 23.
[백준 1924] 2007년 https://www.acmicpc.net/problem/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 1. 풀이 문제에서 1월 1일이 월요일이라고 했고, 기존의 달력 체계를 지키므로 아래와 같은 표가 나옵니다. 노란색, 파란색, 빨강색 순서대로 1,2,3월을 나타냅니다. 일 월 화 수 목 금 토 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 .. 2020. 4. 11.
[백준 1697] 숨바꼭질 - 자바 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 www.acmicpc.net 1. 풀이 처음엔 헤맸지만, 풀고나니 BFS에 대해서 더 깊은 이해를 하게 되는 좋은 문제인 듯 싶다. 수빈이는 +1 , -1 , *2로 .. 2020. 4. 5.
[프로그래머스] 네트워크 - 자바 https://programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 코드 DFS나 BFS를 통해서 노드간의 연결을 탐색하는 문제이다. 연결 요소의 개수를 찾는 것과 똑같다. 각 노드마다 DFS를 돌려서 연결 요소의 개수를 카운팅 하면 되는 문제이다. 백준에서 11724 ( 연결요소의 개수 )와 비슷한 문제이다. 2. 코드 class Solution { static boolean[] visited; // 방문 체크용 static int answer = 0; public i.. 2020. 4. 4.