본문 바로가기

알고리즘 문제

알고리즘 - 구현 계좌번호 문제(제한 시간 1초)입력: 계좌번호의 array  {1111-111-1111, 222-222-222, 3333-333,333-3333, 3333-3333} -> 갯수는 최대 200,000개  -> 이 계좌번호가  1. 유효한 계좌번호인지  2. 어떤 은행의 계좌번호인지  -> 각 은행별로 유효한 계좌번호의 갯수를 출력   유효 계좌 체크1. 계좌번호는 0~9 까지의 숫자 - 으로 이루어짐 이외의 글자 x 2. 계좌번호의 숫자는 11~14개면 유효, 3. - 의 숫자는 0~3까지 유효, 맨 앞, 맨 뒤 x, 연속이면 x 4. 숫자의 갯수와 하이픈의 갯수가 같고, 하이픈의 위치가 같아야함 = 같은 은행  출력 3 2 1 이런식으로 내림차순 출력 풀이) 이문제는 직접 생각해보고 문제를 내봤다.해당 .. 더보기
baekjoon - (숫자 카드) 문제 번호 : 10815번난이도 : Silver 5 시간 제한메모리2 초256 MB 문제숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 가지고 있는지 아닌지를 구하는 프로그램을 작성하시오.입력첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다. 두 숫자 카드에 같은 수가 적혀있는 경우는 없다.셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째 줄에는 상근이가 가지고 있는 숫자 카드인지 아닌지.. 더보기
baekjoon - (N과M) 문제 번호 : 15649번난이도 : Sliver 3시간 제한메모리1 초512 MB문제자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열입력첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)출력한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다.수열은 사전 순으로 증가하는 순서로 출력해야 한다.예제 입력 13 1예제 출력 1123예제 입력 24 2예제 출력 21 21 31 42 12 32 43 13 23 44 14 24 3 풀이)이 문제는 숫자가 1부터 N 만큼의 숫자중 M까지의 길이를 출.. 더보기
baekjoon - (색종이 만들기) 문제 번호 : 2630번난이도 : Silver 2 시간 제한메모리1 초128 MB문제아래 과 같이 여러개의 정사각형칸들로 이루어진 정사각형 모양의 종이가 주어져 있고, 각 정사각형들은 하얀색으로 칠해져 있거나 파란색으로 칠해져 있다. 주어진 종이를 일정한 규칙에 따라 잘라서 다양한 크기를 가진 정사각형 모양의 하얀색 또는 파란색 색종이를 만들려고 한다. 전체 종이의 크기가 N×N(N=2k, k는 1 이상 7 이하의 자연수) 이라면 종이를 자르는 규칙은 다음과 같다.전체 종이가 모두 같은 색으로 칠해져 있지 않으면 가로와 세로로 중간 부분을 잘라서 의 I, II, III, IV와 같이 똑같은 크기의 네 개의 N/2 × N/2색종이로 나눈다. 나누어진 종이 I, II, III, IV 각각에 대해서도 앞에서와.. 더보기
baekjoon - (트리의 순회) 문제 번호 : 2263번난이도 : Gold 1시간 제한메모리5 초128 MB n개의 정점을 갖는 이진 트리의 정점에 1부터 n까지의 번호가 중복 없이 매겨져 있다. 이와 같은 이진 트리의 인오더와 포스트오더가 주어졌을 때, 프리오더를 구하는 프로그램을 작성하시오.입력첫째 줄에 n(1 ≤ n ≤ 100,000)이 주어진다. 다음 줄에는 인오더를 나타내는 n개의 자연수가 주어지고, 그 다음 줄에는 같은 식으로 포스트오더가 주어진다.출력첫째 줄에 프리오더를 출력한다.예제 입력 131 2 31 3 2예제 출력 12 1 3 풀이)이 문제 같은 경우 트리 순회 방식을 알아야한다.트리 순회 방식은 총 3가지가 있다. 전위 순회, 중위 순회, 후위 순회예를 들어       12         3    4  5   7 .. 더보기
baekjoon - (A와 B) 문제 번호 : 12904번난이도 : Gold 5 시간 제한메모리2 초512 MB 문제수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다.이런 사실에 놀란 수빈이는 간단한 게임을 만들기로 했다. 두 문자열 S와 T가 주어졌을 때, S를 T로 바꾸는 게임이다. 문자열을 바꿀 때는 다음과 같은 두 가지 연산만 가능하다.문자열의 뒤에 A를 추가한다.문자열을 뒤집고 뒤에 B를 추가한다.주어진 조건을 이용해서 S를 T로 만들 수 있는지 없는지 알아내는 프로그램을 작성하시오. 입력첫째 줄에 S가 둘째 줄에 T가 주어진다. (1 ≤ S의 길이 ≤ 999, 2 ≤ T.. 더보기
baekjoon - (01타일) 문제 번호 : 1904번난이도 : Silver 3시간 제한메모리0.75 초 (추가 시간 없음)256 MB문제지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다.어느 날 짓궂은 동주가 지원이의 공부를 방해하기 위해 0이 쓰여진 낱장의 타일들을 붙여서 한 쌍으로 이루어진 00 타일들을 만들었다. 결국 현재 1 하나만으로 이루어진 타일 또는 0타일을 두 개 붙인 한 쌍의 00타일들만이 남게 되었다.그러므로 지원이는 타일로 더 이상 크기가 N인 모든 2진 수열을 만들 수 없게 되었다. 예를 들어, N=1일 때 1만 만들 수 있고, N=2일 때는 00, 11을 만들 수 있다. (01, 10은 만들 수 없게 .. 더보기
baekjoon - (수 찾기) 문제 번호 : 1920번난이도 : Silver 4시간 제한메모리1 초128 MB 문제N개의 정수 A[1], A[2], …, A[N]이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오.입력첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안에 존재하는지 알아내면 된다. 모든 정수의 범위는 -231 보다 크거나 같고 231보다 작다.출력M개의 줄에 답을 출력한다. 존재하면 1을, 존재하지 않으면 0을 출력한다.예제 입력 154 1 5 2 351 3 7 9 5예제 출력 111001.. 더보기