SWEA1233 사칙연산 유효성 검사
이진 트리에 관한 문제이지만, 입력의 규칙성을 찾아낸다면 이진트리에 대한 이해가 없이도 쉽게 풀 수 있다.
연산이 가능한 경우는 모두 리프 노드(최하위 노드)가 숫자로 구성되고, 나머지 노드는 연산자로 구성되어 있다.
입력에서 리프노드가 가장 마지막에 들어오기 때문에 해당 조건만 확인하면 원하는 답을 얻을 수 있다.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Solution {
static BufferedReader br;
static BufferedWriter bw;
static StringTokenizer st;
public static void main(String[] args) throws IOException {
br = new BufferedReader(new InputStreamReader(System.in));
bw = new BufferedWriter(new OutputStreamWriter(System.out));
// 숫자 > (int) 48
for (int tc = 1; tc <= 10; tc++) {
int N = Integer.parseInt(br.readLine());
int pass = 1;
if (N % 2 == 0) {
pass = 0;
for (int i = 0; i < N; i++) {
br.readLine();
}
} else {
for (int i = 0; i < N / 2; i++) {
st = new StringTokenizer(br.readLine(), " ");
st.nextToken();
if (st.nextToken().charAt(0) >= 48)
pass = 0;
if (st.nextToken().charAt(0) < 48)
pass = 0;
if (st.nextToken().charAt(0) < 48)
pass = 0;
}
for (int i = N / 2; i < N; i++) {
if (br.readLine().charAt(0) < 48)
pass = 0;
}
}
bw.append(String.format("#%d %d\n", tc, pass));
}
bw.flush();
bw.close();
}
}
Author And Source
이 문제에 관하여(SWEA1233 사칙연산 유효성 검사), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@mraz0210/SWEA1233-사칙연산-유효성-검사저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)