728x90
난이도 : 브론즈3
풀이일 : 12133
https://www.acmicpc.net/problem/1598
링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐
풀이 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
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 N = Integer.parseInt(st.nextToken()) - 1;
int M = Integer.parseInt(st.nextToken()) - 1;
int x1 = N / 4;
int y1 = N % 4;
int x2 = M / 4;
int y2 = M % 4;
System.out.println(Math.abs(x1 - x2) + Math.abs(y1 - y2));
}
}
- 새로 배운 것
- StringTokenizer : 특정 구분문자를 기준으로 입력 받은 것들을 분리 (미입력시 공백을 기준으로 분리)
- nextToken() : StringTokenizer로 분리한 토큰들 순서대로 가져오기
- Integer.parseInt() : 문자열의 타입을 정수로 변환
- Math.abs() : 절대값 구하기 (내부와 동일한 타입으로 반환)
- 풀이
- N, M 설정 시, 4로 나누어 떨어지는 경우 오답이 발생하는 것을 해결하기 위해, 1을 뺄셈
- 두 수의 x, y 좌표 값을 구한 뒤, 각 좌표끼리의 비교로 절댓값을 더해 출력
느낀점
- 이전에는 실버 문제로 빨리 넘어가고 복잡한 문제를 풀고 싶어서 대충 넘어갔었던 것 같은데, 브론즈 문제 중에서도 내가 풀기 위해 새로운 것들을 찾아보고 익혀야 하는 것들이 많다. 하나씩 경험해보고 익숙해지는 과정을 거치자.
- 그리고 진짜 다시 꾸준히 풀어야지! 화이팅
'알고리즘 > 🥉 브론즈' 카테고리의 다른 글
백준 2083 럭비 클럽 자바 풀이 (0) | 2023.12.20 |
---|---|
백준 1076 저항 자바 풀이 (0) | 2023.12.14 |
백준 1284 집 주소 자바 풀이 (0) | 2023.12.13 |
백준 2953 나는 요리사다 자바 풀이 (0) | 2023.07.17 |
백준 10156 과자 자바 풀이 (1) | 2023.07.04 |