PS (C, C++)

[백준/C] 1598 꼬리를 무는 숫자 나열

최연재 2022. 8. 22. 00:04

 

https://www.acmicpc.net/problem/1598

 

1598번: 꼬리를 무는 숫자 나열

첫째 줄에 원숭이가 생각한 두 개의 자연수가 주어진다. 각 수는 10,000,000 이하이다.

www.acmicpc.net

코드

#include <stdio.h>
#include <math.h>

int main()
{
	int a, b;
	scanf("%d %d", &a, &b);

	int aX = (a-1) / 4;
	int aY = (a -1)% 4;

	int bX = (b - 1)/4;
	int bY = (b - 1) % 4;

	printf("%d", abs(aX - bX) + abs(aY - bY));
	return 0;
}

코드 설명

표를 보고 a와 b의 좌표를 식으로 정리한다. (이때 좌표는 길이를 구하는 용으로만 사용한다.)

1~4까지,  5~8까지 x좌표가 같음을 이용해서 x좌표의 식을 세울 수 있다. 숫자에 1을 빼고 그 값을 4로 나눈 몫을 x좌표로 사용할 수 있다. y좌표의 경우는 숫자에 1을 뺀 값을 4로 나눈 나머지를 사용하면 된다. 

 

a, b의 x, y좌표를 구한 뒤 각각의 x좌표와 y좌표의 뺄셈 절댓값을 더해 결과를 출력한다.

느낀 점

몫과 나머지를 이용해서 금방 풀었다. 

'PS (C, C++)' 카테고리의 다른 글

[백준/C] 1076 저항  (0) 2022.08.22
[백준/C] 1085 직사각형에서 탈출  (0) 2022.08.22
[백준/C] 1159 농구 경기  (0) 2022.08.21
[백준/C] 1032 명령 프롬프트  (0) 2022.08.20
[백준/C] 1010 다리놓기  (0) 2022.08.20