코딩테스트

설명 입력된 문자열에서 소괄호 ( ) 사이에 존재하는 모든 문자를 제거하고 남은 문자만 출력하는 프로그램을 작성하세요. 입력 첫 줄에 문자열이 주어진다. 문자열의 길이는 100을 넘지 않는다. 출력 남은 문자만 출력한다. 예시 입력1 (A(BC)D)EF(G(H)(IJ)K)LM(N) 예시 출력1 EFLM 풀이 여는 괄호와 알파벳은 무조건 push 한다. 스택의 제일 상단의 여는 괄호가 닫는 괄호의 짝이다. 닫는 괄호를 만났을 때는, 여는 괄호까지 pop 한다. 코드 package inflearn._5_2; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStr..
설명 괄호가 입력되면 올바른 괄호이면 “YES", 올바르지 않으면 ”NO"를 출력합니다. (())() 이것은 괄호의 쌍이 올바르게 위치하는 거지만, (()()))은 올바른 괄호가 아니다. 입력 첫 번째 줄에 괄호 문자열이 입력됩니다. 문자열의 최대 길이는 30이다. 출력 첫 번째 줄에 YES, NO를 출력한다. 예시 입력1 1 (()(()))(() 예시 출력1 NO 풀이 닫는 괄호의 짝은 스택 상단의 여는 괄호이다. 여는 괄호를 만나면 스택에 push하고, 닫은 괄호를 만나면 스택에서 pop 한다. 닫는 괄호를 만났는데 스택이 비어있으면 잘못된 괄호이다. 다 돌았는데 스택에 괄호가 남아있어도 잘못된 괄호이다. 스택에 넣는 것은 push, 꺼내는 것은 pop을 사용한다. 스택이 비어있는지 확인하는 것은 i..
설명 N입력으로 양의 정수 N이 입력되면 2개 이상의 연속된 자연수의 합으로 정수 N을 표현하는 방법의 가짓수를 출력하는 프로그램을 작성하세요. 만약 N=15이면 7+8=15 4+5+6=15 1+2+3+4+5=15 와 같이 총 3가지의 경우가 존재한다. 입력 첫 번째 줄에 양의 정수 N(7
설명 현수의 아빠는 제과점을 운영합니다. 현수 아빠는 현수에게 N일 동안의 매출기록을 주고 연속된 K일 동안의 최대 매출액이 얼마인지 구하라고 했습니다. 만약 N=10이고 10일 간의 매출기록이 아래와 같습니다. 이때 K=3이면 12 15 11 20 25 10 20 19 13 15 연속된 3일간의 최대 매출액은 11+20+25=56만원입니다. 여러분이 현수를 도와주세요. 입력 첫 줄에 N(5
설명 오름차순으로 정렬이 된 두 배열이 주어지면 두 배열을 오름차순으로 합쳐 출력하는 프로그램을 작성하세요. 입력 첫 번째 줄에 첫 번째 배열의 크기 N(1
·Baekjoon
설명민식이는 다음과 같은 폴리오미노 2개를 무한개만큼 가지고 있다. AAAA와 BB이제 '.'와 'X'로 이루어진 보드판이 주어졌을 때, 민식이는 겹침없이 'X'를 모두 폴리오미노로 덮으려고 한다. 이때, '.'는 폴리오미노로 덮으면 안 된다. 폴리오미노로 모두 덮은 보드판을 출력하는 프로그램을 작성하시오.   입력첫째 줄에 보드판이 주어진다. 보드판의 크기는 최대 50이다.   출력첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다.   예시 입력1XXXXXX   예시 출력1AAAABB    예시 입력2XX.XX    예시 출력2BB.BB     풀이로직은 단순하다.사전순으로 가장 ..
·Baekjoon
설명정수 A를 B로 바꾸려고 한다. 가능한 연산은 다음과 같은 두 가지이다.2를 곱한다.1을 수의 가장 오른쪽에 추가한다.  A를 B로 바꾸는데 필요한 연산의 최솟값을 구해보자.   입력첫째 줄에 A, B (1 ≤ A    출력A를 B로 바꾸는데 필요한 연산의 최솟값에 1을 더한 값을 출력한다. 만들 수 없는 경우에는 -1을 출력한다.   예시 입력12 162   예시 출력15    예시 입력24 42    예시 출력2-1    예시 입력3100 40021   예시 출력35    풀이핵심은 B에서 A를 만들어 낸다는 것이다.B가 A보다 클 때 까지만 반복한다. B의 일의 자리(마지막 숫자)가..
·Baekjoon
설명춘향이는 편의점 카운터에서 일한다.손님이 2원짜리와 5원짜리로만 거스름돈을 달라고 한다. 2원짜리 동전과 5원짜리 동전은 무한정 많이 가지고 있다. 동전의 개수가 최소가 되도록 거슬러 주어야 한다. 거스름돈이 n인 경우, 최소 동전의 개수가 몇 개인지 알려주는 프로그램을 작성하시오.예를 들어, 거스름돈이 15원이면 5원짜리 3개를, 거스름돈이 14원이면 5원짜리 2개와 2원짜리 2개로 총 4개를, 거스름돈이 13원이면 5원짜리 1개와 2원짜리 4개로 총 5개를 주어야 동전의 개수가 최소가 된다.   입력첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다.   출력거스름돈 동전의 최소 개수를 출력한다. 만약 거슬러 줄 수 없으면 -1을 출력한다.  ..
coding-orange
'코딩테스트' 태그의 글 목록 (3 Page)