Ethan(기린)
그린기린그림 일기
Ethan(기린)
전체 방문자
오늘
어제
  • 전체보기 (43)
    • Language (4)
      • JavaScript (4)
    • Web (0)
      • HTML (0)
    • Problem Solving (29)
      • BOJ (18)
      • 프로그래머스 (10)
    • Computer Science (3)
      • Algorithm & Data Structure (2)
      • Network (1)
    • Error Log (4)
    • Config (1)
      • Test (1)
    • Thinking (2)
      • Retrospect (2)
      • Essay (0)
    • Book (0)

인기 글

최근 글

최근 댓글

태그

  • 완전탐색
  • 백준
  • Problem Solving
  • Java
  • 문자열
  • 객체 지향 프로그래밍
  • Lv. 1
  • Lv. 2
  • 프로그래머스
  • Object-oriented programming
  • Java의 정석 3rd Edition
  • 알고리즘
  • OOP
  • JavaScript
  • boj

티스토리

hELLO · Designed By 정상우.
Ethan(기린)

그린기린그림 일기

[백준 2577번/1차원 배열] 숫자의 개수 - Java
Problem Solving/BOJ

[백준 2577번/1차원 배열] 숫자의 개수 - Java

2021. 3. 15. 14:44

www.acmicpc.net/problem/2577

 

2577번: 숫자의 개수

첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 같거나 크고, 1,000보다 작은 자연수이다.

www.acmicpc.net

내 코드

import java.util.Scanner;

class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		// 100 < a, b, c && a, b ,c < 1_000
		int avg = (sc.nextInt()*sc.nextInt()*sc.nextInt());
		String str = Integer.toString(avg);
		for(int i = 0; i < 10; i++) {
			int count = 0;
			for(int j = 0; j < str.length(); j++) {
				if((str.charAt(j) - '0') == i) {
					count++;
				}
			}
			System.out.println(count);
		}
	}
}

String 문자열과 char 배열을 활용하는 문제로 내 경우는 String 문자열을 이용하는 방법을 선택했다. 입력 값 3개를 nextInt()로 받고 그것을 Integer.toString() 메소드로 받은 값을 String 으로 타입을 변환시킨다.

첫 반복문으로 0~9 까지 각각의 수를 검사할 반복문으로 두 번째 반복문이 끝날 때마다 count로 센 개수를 0으로 초기화 해주고, 이 두 번째에서는 모든 요소를 검사하기 위해서 charAt()을 통해 index의 문자와 i 가 같은지 비교하여 같은 경우 count 수를 증가시킨다. 모든 문자는 문자 '0'(유니코드 : 48)을 더한 상태로 존재하기 때문에 숫자로 변환하기 위해서는 charAt()의 요소들을 -'0' 또는 -48을 해주어야 숫자로 변환된다.


생각해야 할 것

  1.  charAt() 사용에 따른 문자 데이터 타입을 숫자로 형변환 해야한다는 점 

배우게 된 점 

  1. Scanner() 메서드를 이용한 입력 값 받는 것은 for문뿐 아니라 정해진 입력 값의 경우 곱 연산으로 처리할 수 있다.
저작자표시 비영리 (새창열림)

'Problem Solving > BOJ' 카테고리의 다른 글

[백준 1546번/1차원 배열] 평균 - Java  (0) 2021.03.15
[백준 3052번/1차원 배열] 나머지 - Java  (0) 2021.03.15
[백준 2562번/1차원 배열] 최댓값 - Java  (0) 2021.03.15
[백준 10818번/1차원 배열] 최소, 최대 - Java  (0) 2021.03.15
백준 10952번 while문 A + B ⑤ - Java  (0) 2021.03.12
    'Problem Solving/BOJ' 카테고리의 다른 글
    • [백준 1546번/1차원 배열] 평균 - Java
    • [백준 3052번/1차원 배열] 나머지 - Java
    • [백준 2562번/1차원 배열] 최댓값 - Java
    • [백준 10818번/1차원 배열] 최소, 최대 - Java
    Ethan(기린)
    Ethan(기린)

    티스토리툴바