백준 30034 Slice string
문제
문자열을 좋아한 임스는 문자열 관련 새로운 게임을 만들었다.
문자열을 나누는 기준인 구분자, 구분자에서 제외하는 조건인 병합자와 관련하여 기준을 정하였다.
새로운 게임의 규칙은 다음과 같다.
- 이 게임은 문자열을 규칙에 따라 나누는 게임이다.
- 문자열을 공백과 주어진 구분자들로 나눈다.
- 각 문자 구분자는 영어 대소문자 중 하나이다.
- 각 숫자 구분자는 0부터 9까지의 숫자 중 하나이다.
- 병합자로 주어진 문자들은 구분자로 취급하지 않는다.
- 각 병합자는 영어 대소문자와 0부터 9까지의 숫자 중 하나이다.
- 구분자와 병합자는 모두 한 글자로 이루어져 있다.
- 나눌 문자열인 기준 문자열은 영어 대소문자, 숫자, 공백으로 이루어져 있다.
- 같은 구분자 및 병합자가 주어질 수 있다.
� � 개의 숫자 구분자, � 개의 병합자, 문자열의 길이 � 와 기준 문자열이 주어질 때 해당 규칙들을 적용한 결과를 출력한다.
개의 문자 구분자,입력
첫 번째 줄에는 문자 구분자의 개수 � 이 주어진다. (1≤�≤1000)
두 번째 줄에는 � 개의 문자 구분자가 공백으로 구분되어 주어진다.
세 번째 줄에는 숫자 구분자의 개수 � 이 주어진다. (1≤�≤1000)
네 번째 줄에는 � 개의 숫자 구분자가 공백으로 구분되어 주어진다.
다섯 번째 줄에는 병합자의 개수 � 가 주어진다. (1≤�≤1000)
여섯 번째 줄에는 � 개의 병합자가 공백으로 구분되어 주어진다.
일곱 번째 줄에는 기준 문자열의 길이 � 가 주어진다. (1≤�≤1000)
여덟 번째 줄에는 기준 문자열이 주어진다.
출력
해당 규칙들을 적용한 결과를 한 줄에 하나씩 출력한다.
빈 문자열로 결과가 주어지는 경우는 없다.
예제 입력 1 복사
2
a b
1
3
1
a
12
abcdefg 1234
예제 출력 1 복사
a
cdefg
12
4
예제 입력 2 복사
1
a
1
1
2
1 a
5
1abcd
예제 출력 2 복사
1abcd
예제 입력 3 복사
3
b c d
1
1
1
e
6
abcde1
예제 출력 3 복사
a
e
이건 문제가 이해가 잘 안되는데
일단 구분자보다 병합자가 더 쌘것 같고 하나씩 보면서 구분자면 없애면서 앤터, 병합자면 붙인다?
백준 20125 쿠키의 신체 측정

그림과 같이 쿠키의 신체는 머리, 심장, 허리, 그리고 좌우 팔, 다리로 구성되어 있다. 그림에서 빨간 곳으로 칠해진 부분이 심장이다. 머리는 심장 바로 윗 칸에 1칸 크기로 있다. 왼쪽 팔은 심장 바로 왼쪽에 붙어있고 왼쪽으로 뻗어 있으며, 오른쪽 팔은 심장 바로 오른쪽에 붙어있고 오른쪽으로 뻗어있다. 허리는 심장의 바로 아래 쪽에 붙어있고 아래 쪽으로 뻗어 있다. 왼쪽 다리는 허리의 왼쪽 아래에, 오른쪽 다리는 허리의 오른쪽 아래에 바로 붙어있고, 각 다리들은 전부 아래쪽으로 뻗어 있다. 각 신체 부위들은 절대로 끊겨있지 않으며 굽혀진 곳도 없다. 또한, 허리, 팔, 다리의 길이는 1 이상이며, 너비는 무조건 1이다.
쿠키의 신체가 주어졌을 때 심장의 위치와 팔, 다리, 허리의 길이를 구하여라.
입력
다음과 같이 입력이 주어진다.
a1,1 . . . a1,N
. . . . . .
aN,1 . . . aN,N
출력
첫 번째 줄에는 심장이 위치한 행의 번호 x와 열의 번호 y를 공백으로 구분해서 출력한다.
두 번째 줄에는 각각 왼쪽 팔, 오른쪽 팔, 허리, 왼쪽 다리, 오른쪽 다리의 길이를 공백으로 구분해서 출력하여라.
제한
- 5 ≤ N ≤ 1,000. N은 판의 한 변의 길이를 의미하는 양의 정수다.
- ai,j는 * 또는 _이다. *는 쿠키의 신체 부분이고, _는 쿠키의 신체가 올라가 있지 않은 칸을 의미한다. (1 ≤ i, j ≤ N)
- 쿠키의 신체 조건에 위배되는 입력은 주어지지 않는다.
예제 입력 1 복사
5
_____
__*__
_***_
__*__
_*_*_
예제 출력 1 복사
3 3
1 1 1 1 1
예제 입력 2 복사
10
__________
_____*____
__******__
_____*____
_____*____
_____*____
____*_*___
____*_____
____*_____
____*_____
예제 출력 2 복사
3 6
3 2 3 4 1
예제 입력 3 복사
9
____*____
*********
____*____
____*____
____*____
___*_*___
___*_*___
___*_*___
___*_*___
예제 출력 3 복사
2 5
4 4 3 4 4
음 일단 i값이 제일 작은 곳이 머리이고 그 바로 밑이 심장일 것이다.그럼 그 이후로 쭉 찾으면 끝이다.
맞네요 ㅎㅎ...
백준 30036 INK
INK는 하얀 사각형을 조종하여, 다양한 위험 요소를 피해 도착 지점으로 도달하는 플랫포머 퍼즐 게임이다. 플레이어가 조종하는 하얀 사각형은 점프할 때마다 다양한 색의 잉크를 흩뿌린다. 흩뿌려진 잉크는 투명한 장애물에 부딪혀, 투명했던 장애물을 염색시킨다. 그 이후로 플레이어는 염색된 장애물을 볼 수 있게 된다.
스테이지의 레벨은 �×� 크기의 그리드로 표현할 수 있다. (�,�) 는 � 행 � 열에 위치한 칸을 의미하며, 칸은 항상 빈칸이거나 장애물 중 하나이다. 스테이지의 레벨에서 게임을 시작하면 플레이어는 스테이지에서 커맨드를 입력하여 사각형을 조종할 수 있다. 스테이지에서 플레이어는 커맨드를 총 � 번 입력한다. 아래는 커맨드에 대한 설명이다.
- 이동 커맨드
- 대문자 알파벳 � , � , � , � 로 4가지이고 각각 상, 하, 좌, 우 방향으로 1 칸 이동함을 의미한다.
- 이동 커맨드에 따라 움직였을 때 사각형이 스테이지 밖으로 벗어나거나 장애물과 겹치는 경우 해당 커맨드는 무시된다.
- 잉크 충전 커맨드
- 잉크 충전 커맨드는 소문자 알파벳 � 이다.
- 잉크 충전 커맨드를 입력받으면 사각형이 가지고 있는 잉크의 양이 1 증가한다.
- 게임 시작 시 사각형이 가지고 있는 잉크의 양은 0 이다.
- 점프 커맨드
- 점프 커맨드는 대문자 알파벳 � 이다.
- 점프 커맨드를 입력받으면 사각형이 제자리에서 점프하면서 잉크가 흩뿌려지며, 이때 잉크의 양은 사각형이 가지고 있는 잉크의 양과 같다.
- 잉크의 색상이 �� 이고 잉크의 양이 �� 인 잉크가 (��,��) 지점에서 흩뿌려졌을 때 |��−�|+|��−�|≤�� 를 만족하는 (�,�) 칸이 장애물 칸이라면 �� 로 칠해진다.
- 만약 장애물 칸이 다른 색상으로 이미 칠해져 있다면, 나중에 닿은 잉크의 색상으로 덮어씌워 칠해진다.
- 점프한 직후 사각형이 가지고 있는 잉크의 양은 0 이 된다.
잉크의 색상은 점프 커맨드 입력 횟수와 잉크 문자열에 의해 결정된다.
- 잉크 문자열
- 잉크 문자열은 알파벳 대문자로 이루어진 길이가 � 인 문자열이다.
- �×�+� � 번째 문자가 된다. (� 는 음이 아닌 정수; 1≤�≤�)
- 예를 들어 1 번째 점프는 1 번째 문자, 2 번째 점프는 2 번째 문자, � 번째 점프는 � 번째 문자, �+1 번째 점프는 1 번째 문자, �+2 번째 점프는 2 번째 문자가 된다.
번째 점프할 때의 잉크의 색상은 잉크 문자열의
잉크 문자열, 초기 스테이지의 레벨 모습, 플레이어가 입력한 커맨드를 입력받아 커맨드를 모두 실행한 후의 스테이지 모습을 출력하는 프로그램을 작성해 보자.
입력
첫 번째 줄에 정수 � , � , � 가 공백으로 구분되어 주어진다. (1≤�,�,�≤100)
두 번째 줄에는 잉크 문자열이 주어진다.
세 번째 줄부터 � 개의 줄에 걸쳐 �×� 크기의 스테이지가 주어진다. 사각형은 @, 빈칸은 . , 장애물은 #으로 주어진다. 사각형은 항상 1 개만 주어진다.
마지막 줄에는 � 개의 커맨드가 공백 없이 주어진다.
출력
� �×� 크기의 최종 스테이지 모습을 출력한다.
개의 줄에 걸쳐사각형은 @로, 빈칸은 . , 염색되지 않은 장애물은 #로, 염색된 장애물은 염색된 잉크의 색상 알파벳 대문자로 출력한다.
예제 입력 1 복사
3 4 12
RGB
.@..
.##.
.##.
....
jJRRJjjDDjDJ
예제 출력 1 복사
....
.RB.
.BB.
...@
예제 입력 2 복사
7 5 17
UTILCUP
.@...
.#.#.
...#.
##.##
##...
JjjUUJRJLLJJjjjjJ
예제 출력 2 복사
@....
.U.U.
...#.
UU.##
U#...
예제 입력 3 복사
4 2 10
ABCD
@#
##
JJJJDJjjjJ
예제 출력 3 복사
@B
BB
진짜 그냥 구현문제네요
백준 10545 뚜기뚜기메뚜기

입력
첫째 줄엔 9개의 정수가 주어진다. 첫 번째 정수는 1번 키를 누르면 원래 자판에서 어떤 키를 누른 것처럼 동작하는지, 두 번째 정수는 2번 키를 누르면 원래 자판에서 어떤 키를 누른 것처럼 동작하는지...이런 식이다.
재석이는 *이랑 0은 쓸 수가 없다. #키는 망가지지 않았다.
두 번째 줄엔 소문자로 된 문자열이 주어진다. 길이는 100 문자를 넘지 않는다.
출력
재석이의 메세지를 쓰기 위해 눌러야 하는 키를 출력한다.
예제 입력 1 복사
2 3 4 5 6 7 8 9 1
klor
예제 출력 1 복사
44#444555666
예제 입력 2 복사
7 8 9 1 2 3 6 5 4
djevojka
예제 출력 2 복사
68662227778#885
예제 입력 3 복사
9 8 7 6 5 4 3 2 1
skakavac
예제 출력 3 복사
33335585582228#888
'알고리즘 > 코테 준비' 카테고리의 다른 글
코테준비 - 우선순위 큐 (1) | 2024.03.22 |
---|---|
코테 준비 - 그래프 1 (1) | 2024.03.22 |
코테준비 - 분할정복 (1) | 2024.03.22 |
코테 준비 - DP 2 실버 1 까지 (0) | 2024.03.21 |
갑자기 코테 준비 ...? - DP1 (1) | 2024.03.21 |