[백준|자바] 5622: 다이얼

2021. 8. 28. 16:09·Problem Solving/백준
문제

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

 

5622번: 다이얼

첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다.

www.acmicpc.net

 

코드
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String dial = sc.nextLine();
		int num;
		int sum = 0;
		
		for(int i = 0; i < dial.length(); i++){
			num = 1;
			switch (dial.charAt(i)) {
			case 'A':
			case 'B':
			case 'C': 
				num += 2;
				break;
			case 'D':
			case 'E':
			case 'F': 
				num += 3;
				break;
			case 'G':
			case 'H':
			case 'I': 
				num += 4;
				break;
			case 'J':
			case 'K':
			case 'L': 
				num += 5;
				break;
			case 'M':
			case 'N':
			case 'O': 
				num += 6;
				break;
			case 'P':
			case 'Q':
			case 'R': 
			case 'S': 
				num += 7;
				break;
			case 'T':
			case 'U':
			case 'V': 
				num += 8;
				break;
			case 'W':
			case 'X':
			case 'Y': 
			case 'Z': 
				num += 9;
				break;
			}
			sum += num;
		}
		
		System.out.println(sum);
		
		sc.close();
	}
}

 

코드 설명

사용자에게 입력받은 문자열의 길이만큼 for문을 돌며 각 인덱스를 확인한다.

해당 문자가 case문에 해당하는 문자라면

 

1 + 문자별로 지정된 숫자

(숫자 1을 걸기 위해 2초가 필요하고, 옆 자리 숫자를 걸려면 +1초씩 증가하므로)

 

를 num에 저장하고, switch문이 끝날 때마다 sum 변수에 num의 값을 저장해 준다.

for문이 종료되면 sum을 출력한다. 

 

*for문이 새로 시작될 때마다 num을 초기화 시켜주어야 이전 for문을 돌며 num에 저장된 수가 누적되지 않는다. 

 

 

 

마무리

switch (dial.charAt(i)) {
	case 'A', 'B', 'C': 
		num += 2;
		break;
	case 'D', 'E', 'F': 
		num += 3;
		break;
	case 'G', 'H', 'I': 
		num += 4;
		break;
	case 'J', 'K', 'L': 
		num += 5;
		break;
	case 'M', 'N', 'O': 
		num += 6;
		break;
	case 'P', 'Q', 'R', 'S': 
		num += 7;
		break;
	case 'T', 'U', 'V': 
		num += 8;
		break;
	case 'W', 'X', 'Y', 'Z': 
		num += 9;
		break;
 }

초기에는 이렇게 코드를 작성했고 이클립스에서도 잘 돌아갔는데 컴파일 에러 뜸.

자바 11에서 case 다중 라벨은 지원하지 않는다고 한다.  

 

저작자표시 비영리 변경금지 (새창열림)

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

[백준|C++] 10250: ACM 호텔  (1) 2021.09.01
[백준|C++] 2292: 벌집  (0) 2021.09.01
[백준|C++] 1712: 손익분기점  (0) 2021.08.31
[백준|자바] 2908: 상수  (0) 2021.08.28
[백준|자바] 1152: 단어의 개수  (0) 2021.08.28
[백준|자바] 1157: 단어 공부  (0) 2021.08.27
'Problem Solving/백준' 카테고리의 다른 글
  • [백준|C++] 2292: 벌집
  • [백준|C++] 1712: 손익분기점
  • [백준|자바] 2908: 상수
  • [백준|자바] 1152: 단어의 개수
청량리 물냉면
청량리 물냉면
프로그래밍 공부를 하고 있습니다. 공부 내용 정리 겸 정보 공유를 목적으로 합니다.
  • 청량리 물냉면
    노력중인 블로그
    청량리 물냉면
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 프로그래밍
        • Programming
        • C | C++
        • Java
        • Python
      • 웹 프로그래밍
        • HTML | CSS
        • JavaScript | TypeScript
        • React
        • Vue.js
        • Next.js
        • Spring & Spring Boot
        • JSP & Servlet
        • DB
      • 웹 프로젝트
        • 웹 프로젝트
        • 🥨스낵몰
        • 👨‍👨‍👧‍👧소셜 가계부
        • 🌜꿈 일기장
        • 🔮포트폴리오 사이트
        • 🏃‍♂️팀 프로젝트: 일정관리 프로그램
        • 📈팀 프로젝트: AI기반 주식 분석 플랫폼
        • 😺Just Meow It: 고양이의 조언
      • 앱 프로그래밍
        • Flutter
        • Kotlin
      • Problem Solving
        • 백준
        • 프로그래머스
        • SWEA
      • Computer Science
        • 알고리즘
        • 컴퓨터 네트워크
        • 이산수학
      • Developer
        • 후기
        • 자료정리
        • 취업 | 취준
        • 웹개발 교육 프로그램
        • TIL
  • 블로그 메뉴

    • 홈
    • Github
  • 공지사항

    • 프로그래밍 공부 중😊
  • 인기 글

  • 태그

    spring boot
    컴퓨터네트워크
    뉴렉처
    Next.js
    Til
    프로그래머스
    타입스크립트
    bfs
    자바
    구현
    공식문서
    강의내용정리
    React
    파이썬
    클론 프로젝트
    백준
    ZeroCho
    SWEA
    웹사이트
    리액트
    mysql
    프로젝트
    블로그 제작
    Jiraynor Programming
    자바스크립트
    AWS
    d3
    포트폴리오
    알고리즘
    플러터
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
청량리 물냉면
[백준|자바] 5622: 다이얼
상단으로

티스토리툴바