본문 바로가기

c언어 스터디/HackerRank

[HackerRank] Number Line Jumps

<문제>

Number Line Jumps | HackerRank

 

Number Line Jumps | HackerRank

Can two kangaroo meet after making the same number of jumps?

www.hackerrank.com


<코드>

#include <stdio.h>
#pragma warning(disable:4996)

int main(void) {
	int x1, v1, x2, v2, temp;
	scanf("%d %d %d %d", &x1, &v1, &x2, &v2);

	if (x1 > x2) {
		temp = x1;
		x1 = x2;
		x2 = temp;
		temp = v1;
		v1 = v2;
		v2 = temp;
	}
	while (x1<x2) {
		x1 += v1;
		x2 += v2;
	}

	if (x1 == x2) {
		printf("YES");
	}
	else {
		printf("NO");
	}

	return 0;
}

 

<풀이>

1. x1, x2, v1, v2를 순서대로 입력받는다. 

2. 문제에서 x1<x2라는 조건이 있다. 만약 입력받은 x1과 x2가 x1>x2 라면 if문을 통해 x1, x2를 바꾸고, v1, v2를 바꾸고 진행한다. 

3. x1>=x2가 될 때까지 while문을 반복한다. 

4. while문을 빠져나왔을 때 x1==x2 라면 YES를 출력하고 아니라면 NO를 출력한다. 

 

 

<제출 결과>