공백문자 들여쓰기 순혈주의 - 구름LEVEL
공백문자 들여쓰기 순혈주의
Quiz Info
공백문자 들여쓰기 순혈주의
100points
Participant
11
Solved Rate
0%
0
0
표준API 메뉴얼: C++C언어Java,  Python,  Python3,  Kotlin,  C#

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

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

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

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

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

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

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

Input/Output Example
:
Blank
:
Line Break
:
Tab
Example 1
Input
4
println("test")
Output
println("test")
Example 2
Input
8
println("test")
Output
println("test")
⋇ Please keep the input and output formats carefully
Q & A
누구나 질문하고 답변할 수 있는 Q&A 게시판입니다.
다른 수강생들과 질문과 답변을 주고 받으며 함께 성장하세요!

Registered Questions (0)