본문 바로가기
백준

[백준] 단계별로 풀어보기(단계:7,문자열,JAVA)5622번, 다이얼

by 열정적인 이찬형 2021. 12. 22.

문제 링크

5622번: 다이얼
 
www.acmicpc.net

주의사항

  • JAVA를 사용하여 프로그램을 사용하였습니다.
  • 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.
public class Main{ 	
	public static void main(String[] args){
    }
}

문제 설명


접근 방법

  • BufferedReader를 사용하여 입력값을 저장합니다.
  • 받은 문장의 글자마다 알파벳에 맞게 다이얼 번호를 주는 dialNum 함수를 만들었습니다.
  • for문을 통해서 문장의 각 알파벳 다이얼 번호를 다 더해서 bw에 저장하였습니다.
  • BufferedWriter를 사용하여 결과를 출력하였습니다.

결과 코드

import java.io.*;
public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        //입력 값을 받는 BufferedReader
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        //결과를 출력하는 BufferedWriter
        String text = br.readLine();			//입력 값 저장
        int result = 0;
        for(int i=0;i<text.length();i++){		//각 알파벳 해당 숫자 더하기
            result += dialNum(text.charAt(i));
        }
        bw.write(result + "\n");			//결과값 저장
        bw.flush();					//결과 출력
        bw.close();
        br.close();
    }
    public static int dialNum(char a){			//알파벳 분석 후 해당하는 숫자 도출 함수
        int result=0;
        if(a=='A' | a=='B' | a=='C'){
            result=3;
        }else if(a=='D' | a=='E' | a=='F'){
            result=4;
        }else if(a=='G' | a=='H' | a=='I'){
            result=5;
        }else if(a=='J' | a=='K' | a=='L'){
            result=6;
        }else if(a=='M' | a=='N' | a=='O'){
            result=7;
        }else if(a=='P' | a=='Q' | a=='R' | a=='S'){
            result=8;
        }else if(a=='T' | a=='U' | a=='V'){
            result=9;
        }else if(a=='W' | a=='X' | a=='Y' | a=='Z'){
            result=10;
        }
        return result;
    }
}

댓글