개발후라이
개발후라이
개발후라이
  • 분류 전체보기 (285)
    • Web Front End (74)
      • Javascript & Typescript (26)
      • React (11)
      • Vue (4)
      • Nodejs (1)
      • HTML (6)
      • CSS (7)
      • HTTP (6)
      • 책 - Review (8)
    • TIL (0)
    • Problem Solved (135)
      • 알고리즘 (4)
      • BOJ (67)
      • Programmers (8)
      • HackerRank (33)
      • LeetCode (23)
    • 회고 (4)
      • 오늘의 회고 (16)
      • 주간 회고 (15)
      • 월간 회고 (7)
      • WakaTime (9)
    • Git (3)
    • 기타 (15)
      • 취업 (5)
      • 자격증 (1)

블로그 메뉴

  • GitHub
  • LinkedIn
  • 홈

인기 글

태그

  • 회고
  • 프론트엔드
  • 릿코드
  • 자바스크립트
  • 노개북
  • TypeScript
  • 개발자
  • 오늘의회고
  • 노마드북클럽
  • JavaScript

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
개발후라이

개발후라이

Problem Solved/BOJ

[BOJ][Java] 1475번 - 방 번호

2019. 12. 20. 15:49
반응형

문제

백준 1475번 문제: 방 번호

문제 설명

방 번호를 카드로 붙이려고 할 때 0부터 9까지 카드 세트가 몇 세트 필요할지 계산하는 문제
6과 9는 서로 뒤집어서 사용할 수 있기 때문에 입력할 때부터 9를 6이라고 대체시켰다. 따라서 9가 입력되도 6이고, 6은 한 세트로 2번까지 사용할 수 있다.
0부터 9까지인데, 9는 6이랑 같으므로 크기가 9인 배열을 만들어 번호마다 카운트를 해 준다.
여기서 6번 카드만 2번까지 사용할 수 있으므로 6번 카드가 홀수번 등장하면 나누기 2 한 값에 1을 추가해 세트를 올바르게 추가할 수 있도록 한다.
그리고 마지막에 정렬을 하는데, 정렬을 하는 이유는 가장 큰 값이 세트의 개수이기 때문이다.
나는 오름차순을 시켜서 제일 마지막 인덱스의 값을 출력하도록 했다.

성공 코드

import java.util.Arrays;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String[] n = sc.next().replaceAll("9","6").split("");
        sc.close();

        int[] set = new int[9];
        for (String s : n) 
            set[Integer.parseInt(s)]++;        

        if (set[6] % 2 != 0) set[6] = set[6] / 2 + 1;
        else set[6] /= 2;

        Arrays.sort(set);
        System.out.print(set[8]);
    }
}
반응형
저작자표시
    'Problem Solved/BOJ' 카테고리의 다른 글
    • [BOJ][Java] 10808번 - 알파벳 개수
    • [BOJ][Java] 2743번 - 단어 길이 재기
    • [BOJ][Java] 2941번 - 크로아티아 알파벳
    • [BOJ][Java] 1316번 - 그룹 단어 체커
    개발후라이
    개발후라이
    어제보다 오늘 발전하기 위한 공간 https://github.com/choisohyun

    티스토리툴바