Baek Jun(5622)[文字列]
8652 ワード
[文字列]-ダイヤル
質問する
尚根のおばあさんは古いダイヤルを使っています.下図のように.
電話をかけたい番号があれば、数字を押して時計回りに金属カードのあるところに回転しなければなりません.1つの数字を押して最初の位置に戻り、1つの数字を押すには最初の位置から再ダイヤルする必要があります.
数字1は全部で2秒かかります.1より大きい数字を賭けるのにかかる時間はこれよりも長く、1つの格のそばの数字を賭けるのに1秒かかります.
尚根のおばあさんは電話番号をそれぞれの数字に対応する文字に暗記した.つまり、ある言葉を打つと、アルファベットごとに対応する数字を打つことができます.例えば、UNUCICは868242に等しい.
おばあちゃんに覚えた単語をあげたとき、この電話をかけるのに最小限の時間を見つけるプログラムを書きます.
入力
最初の行には、アルファベットの大文字からなる単語が表示されます.単語の長さは2以上、15以下です.
しゅつりょく
最初の行のダイヤルアップに要する最小時間を出力します.
import java.util.Scanner;
public class baekjoon18 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String word = scanner.next();
int count = 0;
for(int i=0 ; i<word.length() ; i++) {
char ch = word.charAt(i);
int asc = (int)ch;
if(asc>=65 & asc<=67) {
count += 3;
}
if(asc>=68 & asc<=70) {
count += 4;
}
if(asc>=71 & asc<=73) {
count += 5;
}
if(asc>=74 & asc<=76) {
count += 6;
}
if(asc>=77 & asc<=79) {
count += 7;
}
if(asc>=80 & asc<=83) {
count += 8;
}
if(asc>=84 & asc<=86) {
count += 9;
}
if(asc>=87 & asc<=90) {
count += 10;
}
}
System.out.println(count);
scanner.close();
}
}
Reference
この問題について(Baek Jun(5622)[文字列]), 我々は、より多くの情報をここで見つけました https://velog.io/@dearlee/백준5622-문자열テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol