공백문자 들여쓰기 순혈주의
우측 버튼을 눌러 기기를 연결해주세요.
문제정보
공백문자 들여쓰기 순혈주의
100
참여자
24
정답률
0%
0
0
표준API 메뉴얼: C++C언어Java,  Python,  Python3,  Kotlin,  C#

코드의 들여쓰기는 무조건 공백문자(ASCII 32)로 해야 한다고 강력하게 믿는 최고집 씨는 회사 소스 저장소를 살피다가 탭 문자(ASCII 9)로 들여쓴 코드를 다수 발견했습니다. 21 세기에 있을 수 없는 일이라고 생각한 최고집은 주말에 헌신적으로 소스 코드 저장소의 모든 코드에서 탭을 제거할 음모를 꾸미고 간단한 유틸리티 명령을 만들려고 합니다.

이 유틸리티는 표준 입력으로 소스 코드를 입력 받아  탭으로 들여쓰기된 부분을 모두 공백 문자로 전환해서 표준 출력으로 출력합니다.

표준 입력의 첫 줄은 탭 스톱(tab stop) 값이 입력됩니다.  두번째 줄부터는 소스 코드가 나열됩니다.

탭 스톱은 탭 문자로 커서가 이동하는 위치의 단위입니다. 탭 스톱이 8일 때, 한 행의 처음에 탭 문자가 있다면 8번째 칸까지 커서가 이동합니다. 다시 탭 문자가 있으면 16번째 칸으로 이동하게 됩니다. 만약 행의 처음에 공백 문자 두 개가 있고 그 후에 탭 문자가 있어도 커서는 8번째로 이동합니다. 즉, 탭 문자가 발견되면 현제 위치에서 가장 가까운 탭 스톱의 배수 위치로 커서가 전진하게 됩니다.

들여쓰기에 사용된 탭 문자만 공백으로 바꿀 뿐 코드 중간에 사용되는 탭은 건드리지 말아야 합니다. 이 음모는 비밀리에 수행되어야 하는데 코드 중간의 탭을 건드리면 프로그램이 비정상적으로 동작할 수도 있습니다.

마지막으로 이왕 수고 하는 김에, 불필요하게 코드 행 뒷 부분에 붙어 있는 공백과 탭은 모두 제거하기로 합니다.

표준 입력은 한 줄 이상이고 첫 줄의 탭 스톱 값은  0보다 크고 15이하인 값이 반드시 입력되므로 예외 상황을 대비할 필요는 없다고 가정한다.

입/출력 예시
:
공백
:
줄바꿈
:
예시 1
입력
4
println("test")
출력
println("test")
예시 2
입력
8
println("test")
출력
println("test")
⋇ 입출력 형식을 잘 지켜주세요
Q&A
누구나 질문하고 답변할 수 있는 Q&A입니다. 문제를 풀며 어려웠던 부분에 대해 질문해보세요.
이 문제에 관한 질문 (0)