프로그래밍 문제 하나
2021.05.13 00:25
프로그래밍 문제
~~~~~~~~~~~~~~~~~~~~~~~~~~~
0과 1로만 이루어져 있으며, 0의 개수와 1의 개수가 동일한 문자열 S가 주어진다. 당신은 S에 다음과 같은 작업을 여러 번 수행할 수 있다:
S의 길이 2k인 연속한 부분문자열이 앞 k개 문자가 모두 동일하고, 또한 뒤 k개 문자가 서로 동일하며, 0과 1을 모두 포함할 때, 그 부분문자열을 제거할 수 있다.
예를 들어, S = “0111000011”인 경우, S의 2번째 문자부터 7번째 문자까지인 “111000”을 제거하는 것이 가능하다. 이 작업 후에는 제거된 부분의 앞부분과 뒷부분이 연결되어 S = “0011”이 된다. 그러면 이제 한 번의 작업을 통해 “0011”을 제거할 수 있으므로 초기 S = “0111000011”는 두 번의 작업을 통해 빈 문자열로 만들 수 있다.
여러분의 목표는 최소 횟수의 작업을 통해 S를 빈 문자열로 만드는 것이다. 최소 횟수의 작업으로 S를 빈 문자열로 만드는 과정을 구하여라.
~~~~~~~~~~~~~~~~~~~~~~~~~~~
댓글 [3]
-
오호라7 2021.05.13 02:30
-
메리아 2021.05.13 14:11
예시를 보니 문제가 지시하는 바가 뭔지 알겠군요.
근데 쉬운거 같으면서도 좀 어렵네요.
압축알고리즘 연습 일지도...
-
scrce 2021.05.13 15:49
1. a=0으로 초기화
2. For 문으로 돌린다.
S에 문자열 111000이 있으면 삭제 후 a를 1씩 증가
없으면 S 문자열을 공백 처리 후 종료
답: 최소 횟수는 a(char)에 들어간 수
해석: For문 첫번째는 111000 삭제 후 a=a+1 (a=1이된다.)
For문 두번째에서 111000이 없으므로 S에 문자열을 공백처리 후 종료, a=a+1 (a=2가된다.)
최소 횟수는 2
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 자유 게시판 이용간 유의사항 (정치, 종교, 시사 게시물 자제) [1] | gooddew | - | - |
42998 | 대한민국의 여자들 [22] |
|
2824 | 11-17 |
42997 | 흐음 TH2업데이트가 순차적인가봐요.. [5] | Ness | 2823 | 11-13 |
42996 | 초저소음 PC를 위한 40일간의 여정...그리고 Back to the W... [6] | 수퍼센트 | 2823 | 01-27 |
42995 | ㅋㅋㅋ 웃긴 넷폴더 [1] | 미니100 | 2823 | 06-23 |
42994 | 2019 LTSC와 서버 2019 [레드스톤5 기반] 출시 예상일 [6] | suk | 2822 | 09-30 |
42993 | 우리나라에서는 리눅스 데스크탑용으로 쓰기 힘들죠. [19] | 하이에나 | 2822 | 09-22 |
42992 | 윈도우즈 RSS 동적 테마 [2] | 페이지 | 2822 | 06-26 |
42991 | 굿듀님 메인페이지의 돈벌이보다.. [2] |
|
2822 | 01-01 |
42990 | PlayPcmWin (64-bit) vs foobar2000 [5] | k2000 | 2821 | 07-08 |
42989 | 중국이 왜 북한의 후견인이죠? [12] |
|
2821 | 11-24 |
42988 | 토쉐어는 가입이 안되나요? [8] |
|
2820 | 10-06 |
42987 | (노래듣기) kiroro-長い間 (나가이 아이다) 추천합니다 [5] | KokoroZzin | 2820 | 12-13 |
42986 | 결국 오늘도 안나오는 가봅니다. [9] |
|
2820 | 08-23 |
42985 | 허리운동들 하세요... [1] | 단지단우 | 2820 | 08-02 |
42984 | 전기매트와 전기장판의 차이점이 무엇인가요? [5] | 귀족 | 2819 | 11-23 |
42983 | 망할놈의 우분투 삽질좀 했습니다. [11] | 오펜하이머 | 2819 | 02-16 |
42982 | 아이폰, 갤럭시 써본결과 [6] |
|
2819 | 10-27 |
42981 | 오 파괴된 사나이 [8] |
|
2819 | 07-13 |
42980 | 영문 Windows Server 2008 R2 Volume/Retail (RTM), Enterp... |
|
2819 | 08-12 |
42979 | 파워유저님 PE4.0 (요청) [4] |
|
2819 | 10-06 |
문제가 원래 그런건지, ton3d님이 줄여 쓰느라 잘못 쓴 것인지는 알 수 없지만,
'S의 길이 2k인 연속한 부분문자열이 앞 k개 문자가 모두 동일하고, 또한 뒤 k개 문자가 서로 동일하며, ' 부분과 뒤에 예시로 든
S = “0111000011”가 서로 오류입니다.
'k개 문자가 모두 동일해야 한다'면 2k인 s문자는 00001111, 111111000000 이런식이어야 하지 않나요?
그래서 문제가 맞고 예시가 틀렸다면, 어떤 문자열이 와도 이 문제는 1번만 제거가 이루어 집니다.
설명이 잘못된듯 합니다.
오류찾기가 생활화된 프로그래머는 이런 문제를 안냅니다.