본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q2031 : 엑셀의 열 순서 2

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q2031 : 엑셀의 열 순서 2 (자바, JAVA)입니다.

Intro

Question

문제 설명

입력

엑셀의 열번호가 대문자 영어로 주어진다.(문자의 길이는 6글자 이내, A~Z)

출력

그 열번호가 몇 번째 열인지 정수로 출력한다.

예시

  • 입력 : SFA
  • 출력 : 13001

Solution (풀이)

  • 풀이 : 메모리 11156, 시간 : 67
public class Answer1 {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String column = br.readLine();
        int length = column.length(); // 문자열의 길이     
        int total = 0; // 결과값 초기화
        for (int i=0; i<length; i++) {
            if (i>0) { // 첫자리가 아닐 때에
                total += Math.pow(26, i)*(column.charAt(length-1-i)-64); // 26의 거듭제곱*해당 알파뱃 순서    
            } else {
                total += column.charAt(length-1-i)-64; // 첫자리 문자는 해당 자리 순서만 +
            }
        }

        System.out.println(total);
    }
}

Ranking(순위)

반응형