Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- flutter #firebase #플러터 #파이어베이스 #연동
- flutter #플러터 #분석
- flutter #todolist
- #유데미 #udemy #웅진씽크빅 #스나이퍼팩토리 #인사이드아웃 #미래내일일경험 #프로젝트캠프 #부트캠프 #react #리액트프로젝트 #프론트엔드개발자양성과정 #개발자교육과정
- 비주얼스튜디오 #코드스니펫
- flutter #플러터
- 비주얼 스튜디오 #vs #visual studio
- firebase #파이어베이스
- git #unity #깃허브
- baekjoon #백준 #boj
- 유데미 #udemy #웅진씽크빅 #스나이퍼팩토리 #인사이드아웃 #미래내일일경험 #프로젝트캠프 #부트캠프 #react #리액트프로젝트 #프론트엔드개발자양성과정 #개발자교육과
- 인턴 #프론트엔드 #개발자 #프론트엔드개발자 #취준
- boj #baekjoon #c++
- 백준 #c++
- flutter #깃
- 백준 #boj #baekjoon
- unity #2d-game
- 백준 #boj
- Flutter
- boj #c++
- flutter #상태관리
- boj #baekjoon
- 로컬저장소 #이름변경
- VS #비주얼스튜디오
- 플러터 #flutter #restful #rest api
- baekjoon #boj #c++
- 백준
- unity #2d-game #minigame #vscode
- flutter #git
- flutter #app #취준
Archives
- Today
- Total
cococo-coding
[C++ 풀이] 2774번. 아름다운 수 본문
문제
풀이
아스키코드를 활용해야 하는 문제이다.
테스트케이스 개수t를 입력받고 while문으로 돌린다.
입력받을 수x를 string으로 선언하고, 각 수가 나온 횟수를 셀 카운팅 배열 arr[10]을 선언하고 0으로 초기화해준다.
for문을 이용해 입력받은 수는 string이므로 문자형태이다. 즉, 아스키코드로 인식이 되는 상황이기 때문에 문자0('0')을 빼주어야 한다. (문자 0은 아스키코드로 48이다)
s[i]-48을 arr의 인덱스인수로 넣어주고, 증가시켜준다.
그리고 arr배열을 for문으로 돌리면서 0이 아닌 수를 만나면 cnt를 증가시켜주고
최종적으로 cnt를 출력해준다.
포인트
문자0 은 아스키코드로 48이므로, 숫자로 쓰려면 48을 빼주어야 한다.
만약 위의 방법처럼 하지 않고, 바로 출력하게 되면 아래 그림처럼 7을 입력하면(문자7) -> 55가 출력되는 상황이 나온다.
코드
#include <iostream>
#include <vector>
using namespace std;
/*
1. 테스트케이스의 개수 t를 입력받는다.
2. 수x를 입력받는다.
3. 각 수의 아름다운 정도를 찾는다.
4. 아름다운 정도를 출력한다.
*/
int main() {
//1
int t;
cin >> t;
//2
while (t--) {
int arr[10] = { 0, }; //카운팅 배열
int cnt = 0;
string s;
cin >> s;
//지금 string으로 입력받은 숫자는 '문자'임
//아스키코드라는 뜻
//1=(int)49, 2=(int)50 ... 그러니 동일하게 해주려면 48을 빼줘야함
for (int i = 0; i < s.size(); i++) {
arr[s[i] - 48]++;
}
//4
for (int i = 0; i < 10; i++) {
if (arr[i] != 0) cnt++; //한번은 나온 수들 카운팅
}
cout << cnt << endl;
}
return 0;
}
'[BOJ] 코드 모음 > C++_learning 문제집' 카테고리의 다른 글
[C++ 풀이] 1026번. 보물 (0) | 2024.01.17 |
---|---|
[C++ 풀이] 2355번. 시그마 (0) | 2024.01.16 |
[C++ 풀이] 11575번. Affine Cipher (0) | 2024.01.16 |
[C++] 1453번. 피시방 알바 (0) | 2024.01.15 |
5656번. 비교 연산자 (c++ 풀이) (0) | 2024.01.14 |