블링블링 범블링

[백.단.풀.3] 열 개씩 끊어 출력하기 (11721) 본문

알고리즘 문제풀이/백준

[백.단.풀.3] 열 개씩 끊어 출력하기 (11721)

뻠스키 2019. 3. 6. 19:52
Step : <for문 사용해보기>

Title : " 열 개씩 끊어 출력하기 "



시간 제한메모리 제한제출정답맞은 사람정답 비율
1 초256 MB36577182741606551.249%

문제

알파벳 소문자와 대문자로만 이루어진 길이가 N인 단어가 주어진다.

한 줄에 10글자씩 끊어서 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다.

출력

입력으로 주어진 단어를 열 개씩 끊어서 한 줄에 하나씩 출력한다. 단어의 길이가 10의 배수가 아닌 경우에는 마지막 줄에는 10개 미만의 글자만 출력할 수도 있다.

예제 입력 1 

BaekjoonOnlineJudge

예제 출력 1 

BaekjoonOn
lineJudge

예제 입력 2 

OneTwoThreeFourFiveSixSevenEightNineTen

예제 출력 2 

OneTwoThre
eFourFiveS
ixSevenEig
htNineTen





사견으로 이 문제에서 가장 중요한 것은 주어지는 텍스트의 길이가 같이 안주어진다는 것이라고 생각한다.


종종 문제를 풀다보면 이런 경우가 굉장히 많은데, 보통은


C언어에서는 string헤더 파일을 이용하여 strlen() 라이브러리 함수를 이용 할 수 있다.

> strlen() 은 문자열의 길이를 구하는 라이브러리 함수이다.

예시

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h>
 
#include<string.h> // 문자열관련 함수를 쓰기위해서는 string.h헤더 파일이 필요
 
int main(void)
 
{
 
    char ustr[] = "Hello World. Hi 가나다"// 문자열길이가 입력한 문자열에 맞춰 증감 
 
        printf("%s\n", ustr); // 문자열 출력
 
    printf("%d\n", strlen(ustr)); // 문자열 길이 출력 strlen(변수이름)
 
    return 0;
 
}
 
 
cs


 


C++ 에서는 String을 사용해서 문제를 접근하고,


string base = "hello world!";
base.length();
base.size();

size()와 length()는 이름만 다를 뿐 같은 일을 하는 멤버 함수다.


혹은 C와 같이 

#include <cstring> 를 정의 하고,

strlen() 을 사용한다.


나는 예전에 이야기했듯이,

#include <stdio.h>
#include <malloc.h>


이 두가지만을 사용해서 문제를 해결하는 습관을 들일 것이기 때문에

while 문을 사용해 text 문자열에 NULL 이 존재하면 종료하도록 설정하고 배열에 접근했다.





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <malloc.h>
 
char text[101];
int cnt;
 
int main()
{
    scanf("%s", text);
 
    while (text[cnt++!= '\0')
    {
        printf("%c", text[cnt - 1]);
        if (cnt % 10 == 0printf("\n");
    }
    
    return 0;
}
cs


Comments