소스코드
|
|
주절주절
너무 옛날에 풀어서 정확히 기억이 안난다. 시간나면 다시 풀어보아야겠다.
|
|
너무 옛날에 풀어서 정확히 기억이 안난다. 시간나면 다시 풀어보아야겠다.
문자 저장소는 새로운 단어를 만들기 위해 여러번(최소한 한번 이상) 사용된 모든 문자들로 구성된 단어이다. 예를들어 IMPS는 MISSISSIPPI의 문자 저장소이다. a 와 b의 두 단어를 입력으로 받고, 당신은 a가 b의 문자 저장소인지 판단하는 프로그램을 작성한다. 첫번째 단어가 (문자들이) 반복된 단어가 아니라고 가정해라. 모든 단어들은 오직 대문자들만 포함한다.(A, B, …, Z, 공백 없음)
프로그램은 표준 입력으로부터 입력받는다. 입력은 T(1 ≤ T ≤ 20) 개의 테스트 조건을 갖는다. 테스트 조건의 개수인 T는 입력의 첫번째 줄에 주어진다. 각각의 테스트 조건들은 한줄에 두 단어가 주어진다. 첫번째 단어와 두번째 단어 사이에는 하나의 공백이 존재한다. 그리고 각 단어는 최대 80글자를 가진다.
프로그램은 표준 출력으로 출력한다. 각 테스트 조건은 정확히 한줄에 하나씩 출력해라. 각 테스트 조건에 대해, 만약 첫번째 단어가 두번째 단어의 저장소이면 YES
, 그렇지 않으면 NO
를 출력해라.
|
|
중복한 문자들을 어떻게 처리할 수 있을까 생각하던중… 배열을 이용하기로 하였다. 괜찮은 판단이었던 것 같다. ㅋㅋ
|
|
곰곰히 생각해보면 수열 문제로 생각할 수 있다. 벌집의 레벨이 늘어날때마다 각 레벨의 방의 개수가 6개씩 늘어난다. 중앙의 방에서부터 차례로 빼나가다보면 답이 나온다. 이 녀석은 나를 고민을 많이하게 만들었지만 재밌는 문제였다.
|
|
최소값과 최대값은 정렬을 하면 쉽게 구할 수 있다. 다행히 자바에서는 정렬 라이브러리가 있기에 쉽게 풀 수 있었다.
|
|
재귀적인 탐색 문제이다. 4방향으로 탐색하며 각 셀마다 이동하는데 사용되는 최소 에너지량을 구한다. 이미 방문한 셀이라도 더 적은 에너지로 갈 수 있으면 이동해야 한다.
|
|
생각보다 간단한 문제였네요.
키포인트는 해당 역의 이름표의 길이가 주변 역과의 거리보다 길면 안된다는 사실…
|
|
Palindrome(회문: 뒤집어도 같은 단어(ex: 별똥별)) 문제이다. 숫자를 문자열로 바꾸어서 처리해도 되지만, 문자로 바꾸지 않고 바로 뒤집어 보았다.
|
|
간단한 기하 문제이다. 먼저 붙힌 포스터의 넓이를 구한뒤 나중에 붙힌 포스터와 겹치는 넓이를 빼주면 된다.
|
|
문제를 잘못 이해해 bypass에 차가 한 대만 들어간다고 생각해버렸다. 다시 수정하여 풀었다. 정렬을 이용하여 풀어보았다. 하지만 Queue를 이용해서 풀면 좋을 듯한 문제인듯 ㅋㅋ
|
|
문제를 보고 고민을 하다가 조합으로도 풀 수 있단것을 알게되었다. 수학책을 찾아보고 조합 공식에 맞춰 함수를 작성하였다.