나는 컴공이다/Algorithm in JAVA

[백준 18406] 럭키 스트레이트 in JAVA

김짱짱 2021. 2. 22. 13:44

www.acmicpc.net/problem/18406

 

18406번: 럭키 스트레이트

첫째 줄에 점수 N이 정수로 주어진다. (10 ≤ N ≤ 99,999,999) 단, 점수 N의 자릿수는 항상 짝수 형태로만 주어진다.

www.acmicpc.net

주어진 N의 앞쪽 반 자리수의 합과 뒤쪽 반 자리수의 합이 같으면 LUCKY

 

 

 

※ 풀이 방법

N은 정수로 주어지지만 문자열을 통해 처리하는 것이 편하다.

N을 입력받고 앞쪽 반의 자리수의 합과 뒤쪽 반의 자리수의 합을 계산하여 비교한 뒤 알맞은 결과를 출력한다.

단순히 문자를 더하면 각 숫자의 아스키코드값이 더해지기 때문에 '0'을 빼서 계산해주면 알맞은 값이 나온다.

※ 문제 풀이 코드

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input=new Scanner(System.in);
		
		String s=input.next();
		
		int a=0,b=0;
		for(int i=0;i<s.length()/2;i++) //앞쪽 반 계산
			a+=s.charAt(i)-'0';
		for(int i=s.length()/2;i<s.length();i++) //뒤쪽 반 계산
			b+=s.charAt(i)-'0';
		
		if(a==b) System.out.println("LUCKY");
		else System.out.println("READY");
	}

}