Backend
home
🐙

[백준] 문어 숫자

생성일
2025/03/30 10:48
태그
BaekJoon
게시일
2025/03/30
최종 편집 일시
2025/03/31 11:22

문제

해결 방안 고민

문어 숫자라고 하여 특정 숫자를 문자로 표현하여 계산해야 하는 문제이다.
각 문자별로 인덱스 매칭을 시켜주는 것을 고민하였다.

해결 방법

문자 배열, 정수 배열을 만들었다.
입력한 문자열의 문자들을 문어 숫자의 문자들과 비교하여 같으면 문제의 조건에서 주어진 식대로 계산할 수 있도록 하였다.
8의 제곱을 해야 함과 동시에 순차적으로 감소하는 pow 변수를 선언하였다.

코드

package algo250330; import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; // 백준 - 문어 숫자 (브론즈 2) public class Baek1864 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); char[] arr = {'-', '\\', '(', '@', '?', '>', '&', '%', '/'}; int[] numArr = {0, 1, 2, 3, 4, 5, 6, 7, -1}; while (true) { String str = br.readLine(); // "#" 이면 break if (str.equals("#")) { break; } int length = str.length(); double pow = length - 1; int sum = 0; for (int i = 0; i < length; i++) { for (int j = 0; j < arr.length; j++) { if (str.charAt(i) == arr[j]) { sum += (int) (numArr[j] * Math.pow(8, pow)); pow--; } } } System.out.println(sum); } } }
Java
복사