누룽지맛치킨
어미새의 개발일지
누룽지맛치킨
전체 방문자
오늘
어제
  • 분류 전체보기 (86)
    • 코틀린 (8)
    • 안드로이드 (5)
      • 디자인 (2)
      • 개발 (2)
      • 도구 (1)
    • 피그마 (1)
    • 대외활동 (0)
    • 프로젝트 (0)
    • 백준 (55)
      • JAVA (55)
    • 알고리즘 (3)
    • 클라우드 (5)
    • 스터디 (2)
      • 코테 (2)
    • 자료구조 (5)
    • 컴퓨터 기술 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자료구조
  • 자바 Priority Queue
  • 코틀린 runBlocking
  • 백준 자바 수열
  • Room version 올리기
  • 코틀린 인 액션
  • 백준 자바
  • 클라우드 컴퓨팅
  • 안드로이드 디자인
  • 백준 자바 벌집
  • 백준 자바 누적합
  • 백준 자바 2292번
  • 코틀린
  • 클라우드
  • 백준 자바 2559번
  • 백준 자바 정렬
  • 안드로이드
  • 알고리즘 조합
  • Room Migration
  • 백준 자바 다이나믹 프로그래밍

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
누룽지맛치킨

어미새의 개발일지

백준/JAVA

[백준/JAVA] 2577번 숫자의 개수

2023. 1. 18. 09:06
  • 일차원 배열을 이용하여 곱셈의 결과에서 사용된 숫자의 개수 구하기.

https://www.acmicpc.net/problem/2577

1. 문제

세 개의 자연수 A, B, C가 주어질 때 A × B × C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오.

예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 150 × 266 × 427 = 17037300 이 되고, 계산한 결과 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다.

2. 문제 접근

  • 3개 값을 입력 받는다.
  • 3개의 값의 곱을 문자열로 변환하고 각 인덱스에 사용된 숫자에 해당하는 정수 배열에 값을 1씩 늘린다.

핵심코드!

  • 조건문을 사용하여 0부터 9까지의 경우일 때 배열의 값을 늘리게 되면 코드의 양이 어마어마해진다. 대신 곱셈의 결과값을 문자열로 두고 그 길이만큼 반복하며 숫자 하나하나에 접근한다. 그리고 그 숫자를 인덱스로 하여 정수 배열의 값을 1씩 키운다.
for(int i=0;i<num.length();i++) {
            word[((int)num.charAt(i)-'0')]++;
        }

3. 코드

import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class b_2577 {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int A = Integer.parseInt(br.readLine());
        int B = Integer.parseInt(br.readLine());
        int C = Integer.parseInt(br.readLine());
        int word[] = new int[10];
        String num = Integer.toString(A*B*C);
        for(int i=0;i<num.length();i++) {
            word[((int)num.charAt(i)-'0')]++;
        }
        StringBuilder sb = new StringBuilder();
        for(int i=0;i<word.length;i++) {
            sb.append(word[i]).append("\n");
        }
        System.out.print(sb);
    }
}

'백준 > JAVA' 카테고리의 다른 글

[백준/JAVA] 단계별로 풀어보기(4단계) 코드 모음  (0) 2023.01.18
[백준/JAVA] 8958번 OX퀴즈  (0) 2023.01.18
[백준/JAVA] 10951번 A+B-4  (0) 2023.01.17
[백준/JAVA] 단계별로 풀어보기(3단계) 코드 모음  (0) 2023.01.17
[백준/JAVA] 단계별로 풀어보기(2단계) 코드 모음  (0) 2023.01.17
    '백준/JAVA' 카테고리의 다른 글
    • [백준/JAVA] 단계별로 풀어보기(4단계) 코드 모음
    • [백준/JAVA] 8958번 OX퀴즈
    • [백준/JAVA] 10951번 A+B-4
    • [백준/JAVA] 단계별로 풀어보기(3단계) 코드 모음
    누룽지맛치킨
    누룽지맛치킨

    티스토리툴바