[C++] 7600 문자가 몇갤까

2021. 1. 10. 00:20·Algorithm/Solution
728x90

7600번: 문자가 몇갤까 (acmicpc.net)

 

7600번: 문자가 몇갤까

각 줄마다 출몰한 알파벳의 개수를 출력하면 된다.

www.acmicpc.net

 

 

 


난이도 : 브론즈2

 

알고리즘을 시작한지 별로 안돼서 브론즈 2도 어렵다..

 

원리

1. char형태로 250자 배열을 받는다.

2. #이 입력될 때까지 값을 출력해야하므로 while문(무한반복) 이용

3. for문을 이용해서 char배열의 인덱스 값을 아스키코드 값과 비교하여 카운트한다.

4. 만약 반복 된 문자가 있을 수 있으므로 체크할 chk 변수를 선언하여 한 문자를 확인 할때마다 chk=1 해줌

5. 카운트 한걸 바로바로 sum에 더해줘서 sum을 출력하게함

 

 

답 :

#include <iostream>
#include <cstring>

int main() {
	using namespace std;
	char a[251];

	while (1) {
		int cnt = 0, chk = 0, sum = 0;
		scanf("%[^\n]s", a);
		getchar();
		if (a[0] == '#') {
			return 0;
		}
		for (int i = 65; i <= 90; i++) {
			for (int j = 0; j < strlen(a); j++) {
				if ((a[j] == i) || (a[j] == i + 32)) {
					if (chk == 0) {
						cnt++;
						chk = 1;
					}
				}
			}
			chk = 0;
			sum += cnt;
			cnt = 0;
		}
		printf("%d\n", sum);
	}
	return 0;
}

* for문을 서로 바꿔도 값은 똑같이 출력됨


몰랐던 개념

 

- 공백을 포함하여 문자열을 입력 받을 때  :

char 배열[];

scanf("%[^\n]s",배열이름);

*인덱스는 0부터 시작한다

 

- 여러줄 입력받을때 :

scanf 사이에 getchar(); 써줍니다.

 

- 문자열 크기 : strlen(배열이름);

* <cstring> 필요

 

- 아스키코드 : 대문자와 소문자의 아스키코드 차이는 32!

 

 

728x90
저작자표시 비영리 (새창열림)

'Algorithm > Solution' 카테고리의 다른 글

[C++] 2960번 에라토스테네스의 체  (0) 2021.01.17
[C++] 2167번 2차원 배열의 합  (0) 2021.01.17
[C++] 11944번 NN  (0) 2021.01.10
[C++] 2609번 최대공약수와 최소공배수  (0) 2021.01.10
[C++] 1100번 하얀 칸  (0) 2021.01.10
'Algorithm/Solution' 카테고리의 다른 글
  • [C++] 2167번 2차원 배열의 합
  • [C++] 11944번 NN
  • [C++] 2609번 최대공약수와 최소공배수
  • [C++] 1100번 하얀 칸
BeNI
BeNI
코딩하는 블로그
  • BeNI
    코딩못하는컴공
    BeNI
  • 전체
    오늘
    어제
    • Menu (253)
      • My profile (1)
      • 회고 | 후기 (8)
      • Frontend (65)
        • Article (11)
        • Study (35)
        • 프로그래머스 FE 데브코스 (19)
      • Backend (0)
      • Algorithm (58)
        • Solution (46)
        • Study (12)
      • Major (111)
        • C&C++ (23)
        • Java (20)
        • Data Structure (14)
        • Computer Network (12)
        • Database (15)
        • Linux (6)
        • Architecture (3)
        • Lisp (15)
        • OS (1)
        • Security (2)
      • etc (2)
  • 링크

    • 깃허브
    • 방명록
  • 인기 글

  • 최근 댓글

  • 최근 글

  • 태그

    백준
    Algorithm
    데브코스
    파일처리
    react
    C++
    프로그래머스
    lisp
    자료구조
    리팩토링
  • hELLO· Designed By정상우.v4.10.2
BeNI
[C++] 7600 문자가 몇갤까
상단으로

티스토리툴바