본문 바로가기

728x90

백준

(52)
[백준] OX퀴즈 8958번 코드 힌트문제 이해:이 문제는 주어진 OX 퀴즈에서 연속된 'O'의 점수를 계산하는 것입니다. 'O'가 연속될수록 점수가 높아지며, 'X'를 만나면 점수가 초기화됩니다.점수 계산 방법:각 문자열을 순차적으로 검사하면서 'O'가 나타날 때마다 이전의 점수에 1을 더합니다. 예를 들어, 'OOXOO'라면 첫 번째 'O'는 1점, 두 번째 'O'는 2점, 세 번째 'O'는 1점, 네 번째 'O'는 2점이 됩니다.연속된 O 관리:연속된 'O'의 개수를 변수로 관리합니다. 'O'가 나올 때마다 변수를 증가시키고, 'X'가 나오면 이를 0으로 초기화합니다.입출력 처리:BufferedReader와 BufferedWriter를 사용하여 입력과 출력을 처리합니다. 이는 효율적인 입출력을 보장하기 위해 사용됩니다.다중 테..
[백준] 더하기 사이클 1110번 코드 힌트문제 이해:이 문제는 주어진 숫자를 특정 규칙에 따라 변형한 후, 다시 원래의 숫자로 돌아올 때까지 몇 번의 변형이 필요한지를 묻는 문제입니다.변형 규칙:주어진 숫자의 각 자리수를 분리하여 더한 뒤, 그 결과를 이용해 새로운 숫자를 생성합니다.예를 들어, 26이라는 숫자가 주어지면, 2와 6을 더해 8이 되고, 마지막 자리 6과 8을 결합해 새로운 숫자 68이 됩니다.사이클의 길이 계산:반복문을 사용하여 숫자를 변형하고, 그 과정에서 원래의 숫자로 돌아올 때까지 변형 횟수를 기록합니다.변형이 끝난 후, 사이클의 길이(변형 횟수)를 출력합니다.입출력 처리:BufferedReader와 BufferedWriter를 사용하여 입력과 출력을 처리합니다. 이는 대량의 데이터를 효율적으로 처리하기 위함입니다..
[백준] 괄호 9012번 코드 힌트입력 및 출력 처리:BufferedReader와 BufferedWriter를 사용하여 입력을 빠르게 읽고 출력을 효율적으로 처리합니다.스택 사용:스택의 역할: 괄호 문자열을 처리하기 위해 스택을 사용합니다. 열린 괄호는 스택에 쌓고, 닫는 괄호가 나오면 스택에서 열린 괄호를 제거합니다.스택의 상태 확인: 스택이 비어있으면 모든 괄호가 올바르게 짝지어졌다는 의미입니다. 비어있지 않으면, 괄호가 잘못 짝지어진 것입니다.문자열 처리:문자 추출: 문자열에서 각 문자를 추출합니다.문자 비교 및 스택 조작: 열린 괄호가 스택에 쌓이고, 닫는 괄호가 스택의 가장 위에 있는 열린 괄호와 쌍을 이루면 스택에서 제거합니다.결과 판단:모든 문자를 처리한 후, 스택이 비어 있으면 괄호 문자열이 올바르게 짝지어졌다는 ..
[백준] 제로 10773번 코드 힌트입력 및 출력 처리:BufferedReader를 사용하여 입력을 효율적으로 받고, BufferedWriter를 사용하여 출력 속도를 높입니다.스택 연산 처리:Push (정수 입력): 입력된 정수를 스택에 추가합니다.Pop (입력 0): 스택에서 가장 위의 정수를 제거합니다. 스택이 비어있지 않을 때만 제거합니다.결과 계산:스택에 남아있는 모든 정수의 합을 계산합니다. 스택이 비어있을 때까지 pop하여 정수를 추출하고, 그 값을 result 변수에 추가합니다.최종 결과 출력:계산된 합계를 출력합니다.  추가적인 정보스택이 비어있을 때 pop 호출 주의: 문제의 가정에 따라 스택이 비어있을 경우의 처리도 고려해야 하지만, 여기서는 문제 요구에 따라 비어있지 않다고 가정하고 구현되었습니다.정답은 더보..
[백준] 스택 2 28278번 코드 힌트입력 및 출력 처리:BufferedReader를 사용하여 입력을 효율적으로 받고, BufferedWriter를 사용하여 출력 속도를 높입니다.스택 연산 처리:Push (1): 입력된 정수를 스택에 추가합니다.Pop (2): 스택에서 가장 위의 정수를 제거하고 출력합니다. 스택이 비어있으면 -1을 출력합니다.Size (3): 스택의 현재 크기를 출력합니다.IsEmpty (4): 스택이 비어있으면 1, 그렇지 않으면 0을 출력합니다.Peek (5): 스택의 가장 상단에 있는 정수를 출력합니다. 스택이 비어있으면 -1을 출력합니다.입력 분리 및 처리:String.split(" ") 메서드를 사용하여 공백을 기준으로 입력 문자열을 나누고, 명령어와 관련 값을 처리합니다. 정답은 더보기 클릭더보기impo..
[백준] 그림 1926번 문제 힌트BFS 방법으로 풀기큐(Queue)를 이용하여 그림을 찾습니다.(i, j) 위치에서 그림을 찾기 시작하여, 상하좌우 인접한 1들을 큐에 넣고 방문 처리합니다.큐가 비어질 때까지 반복하며 그림의 크기를 계산합니다.DFS 방법으로 풀기스택(Stack)을 이용하거나 재귀 호출을 통해 그림을 찾습니다.(i, j) 위치에서 그림을 찾기 시작하여, 상하좌우 인접한 1들을 스택에 넣고 방문 처리합니다.스택이 비어질 때까지 반복하며 그림의 크기를 계산합니다.방문 유무 파악하기도화지와 같은 크기의 boolean[][] 배열을 사용하여 true, false를 이용하면 쉽게 구할 수 있습니다.BFS와 DFS로 해결하는 방법BFS로 해결하는 방법도화지를 탐색하면서 방문하지 않은 1을 찾습니다.찾으면 큐를 사용하여 B..
[백준] 수 찾기 1920번 코드 힌트자료구조: HashMap을 사용하여 문자열의 존재 여부를 빠르게 확인하는 것이 핵심입니다.입출력 최적화: BufferedReader와 BufferedWriter를 사용하여 대량의 입력과 출력을 효율적으로 처리합니다.문자열 처리: 입력된 문자열을 공백으로 분리하여 배열에 저장하고, 이를 해시맵과 비교하여 결과를 도출합니다. 정답은 더보기 클릭더보기import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws NumberFormatException, IOException { // 입력을 효율적으로 받기 위해 BufferedReader 사용 Buffer..
[백준] 최대공약수 1850번 코드 힌트Buffered 사용하여 받고 출력하기BufferedReader와 BufferedWriter를 사용하여 입력과 출력을 처리합니다.BufferedReader는 입력을 받고, BufferedWriter는 출력을 담당합니다.(Java) 숫자로 변환할 때 long타입으로 받아야합니다.최대공약수 구하기유클리드 호제법을 사용하여 두 수의 최대공약수를 구합니다.유클리드 호제법은 반복적으로 나머지를 구하여 최대공약수를 찾는 방법입니다.최대공약수 구하는 방법은 여기를 클릭하세요"1"를 최대공약수 만큼 출력시키기구한 최대공약수의 값만큼 '1'을 출력합니다.예를 들어, 최대공약수가 5이면 '1'을 5번 출력합니다.  정답은 더보기 클릭더보기import java.io.*;public class Main { ..

728x90