본문 바로가기

Problem Solving1214

[백준] 16113 시그널 - Implementation / Java • 문제 링크 16113번: 시그널 zxcvber는 외계인을 연구하는 과학자다. 그는 지난 10년간 우주에서 오는 시그널를 연구했지만, 아무런 성과가 없었다. 그러던 어느 날, 갑자기 우주에서 이상한 시그널이 오기 시작했다. zxcvber는 www.acmicpc.net • 풀이 과정 입력받은 문자열을 substring 함수로 5등분할 범위를 지정해 배열에 저장한다. 0~9까지 숫자가 형태에 맞게 배열에 표현되어 있으며 각각의 영역을 일렬로 나타내면 아래와 같다. 0 ### #.# #.# #.# ### 1 # # # # # 2 ### ..# ### #.. ### 3 ### ..# ### ..# ### 4 #.# #.# ### ..# ..# ... ... 이때 맨 상단이 "###" 인 경우는 0, 2, 3,.. 2022. 6. 24.
[백준] 14499 주사위 굴리기 - Implementation / Java • 문제 링크 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지 www.acmicpc.net • 풀이 과정 주사위의 이동을 지도에 범위에 맞게 이동하도록 지정하고 주사위의 6면에 대응하는 배열을 생성해 그 움직임을 구현한다. 주사위에 각 면을 배열의 인덱스로 표현하면 다음과 같다. 1 3 0 2 4 5 이동 방향에 따라 각 주사위 면에 지정된 수가 초기값 0에서 변화하는데, 동쪽은 0, 3, 5, 2 서쪽은 0, 2, 5, 3 남쪽은 0, 4, 5, 1 북쪽은 0, 1, 5,.. 2022. 6. 23.
[백준] 16506 CPU - Implementation / Java • 문제 링크 16506번: CPU 디지털하드웨어설계 과목의 최종 프로젝트는 16-bit CPU를 설계하고 Verilog 언어로 구현하는 것이다. 본인이 구현한 CPU가 제대로 동작하는지 테스트하기 위해서는 기계어 코드를 입력으로 주어야 www.acmicpc.net • 풀이 과정 뒷자리에 C가 붙는 경우를 제외한 각각의 opcode는 0 ~ 11까지의 이진수의 값을 갖는다. 각 코드를 배열에 저장하고 각각의 인덱스에 대응하는 십진수를 이진수로 변환할 함수를 생성한다. 변환하고자 하는 값을 2로 연속해서 나눈 나머지 값을 순차적으로 나열 후 해당 문자열을 뒤집어 변환하며 이 함수를 활용해 나머지 각각의 값과 자릿수를 매개변수로 넣어 3~4 자리 이진수 값이 반환되고, 이를 주어진 조건에 맞게 결합한 전체 .. 2022. 6. 22.
[백준] 14500 테트로미노 - Implementation / Java • 문제 링크 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net • 풀이 과정 문제에 제시된 5가지의 테트로미노 중 'ㅜ' 를 제외한 나머지 테트로미노들은 일반적인 dfs로 완전탐색하여 구현 가능하나, ㅜ의 경우 위와 같이 탐색의 깊이가 2인 칸, 즉 테트로미노가 두 방향으로 분기되는 칸에서 분기를 준다. 3번째 탐색 위치를 현재 위치에서 재탐색하여 해당 테트로미노를 구현한다. 이렇게 모든 테트로미노가 놓인 칸에 쓰인 수들의 합의 최댓값이 max 변수에 갱신되어 정답이 출력된다. • 풀이 코드 import jav.. 2022. 6. 21.
[백준] 1966 프린터 큐 - Data Structure / Java • 문제 링크 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.LinkedList; import java.util.Queue; import java.util.StringTok.. 2022. 6. 20.
[백준] 17413 단어 뒤집기 2 - Data Structure / Java • 문제 링크 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Stack; public class Main { public static vo.. 2022. 6. 19.