728x90
문제 : 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 (acmicpc.net)
큰 틀에서의 로직은
갖춰야할 장기말의 수 - 입력 받은 수
A - B
즉 A-B를 각각 배열로 만들어서 for문을 돌려 인덱스번호 별로 호출하여 각 번호를 빼주는 것이다
answer = A[i] - B[i]
갖춰야할 장기말의 수 : 변수명 horse
int[] horse = {1,1,2,2,2,8};
입력받은 수 : 변수명 st
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
st를 변수명 temp에 배열로 집어넣는다
for(int i=0; i<horse.length;i++){
temp[i] = Integer.parseInt(st.nextToken());
각각을 배열로 만들어서 for문을 배열길이 총6만큼 반복 시켜서
for문의 i인덱스번호만큼 각 지정 숫자끼리 빼는 것이다
그리고 마지막 출력을 공백 있는 정수나 str로 해야 하기에 배열로 그대로 출력하면 틀리니 주의
(필자가 이래서 틀림처림됨)
for(int i=0; i<horse.length;i++){
temp[i] = Integer.parseInt(st.nextToken());
answer += horse[i] - temp[i] + " ";
}
정답 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int[] horse = {1,1,2,2,2,8};
int[] temp = new int[6];
String answer = "";
for(int i=0; i<horse.length;i++){
temp[i] = Integer.parseInt(st.nextToken());
answer += horse[i] - temp[i] + " ";
}
System.out.println(answer);
}
}
728x90
반응형
'코딩테스트' 카테고리의 다른 글
[코딩테스트][백준] Step2-4 14681번 : 사분면 고르기 (0) | 2022.10.10 |
---|---|
[코딩테스트][백준] Step2-3 2753번 : 윤년 (1) | 2022.09.30 |
[코딩테스트][백준] Step2-1 1330번 : 두 수 비교하기(feat.BufferedReader+StringTokenizer) (1) | 2022.09.29 |
[코딩테스트][백준] Step2-2 9498번 : 시험 성적 (0) | 2022.09.27 |
[코딩테스트][백준] Step2-1 1330번 : 두 수 비교하기 (1) | 2022.09.26 |