20161213
*이문제는 dovelet 에 있는 알고리즘 문제입니다.
지하 차도/truck
프로그램 명: truck
제한시간: 1 초
제 1 지하차도 를 지나면 2 지하차도 를 지나면 3 지하차도로 이어져있다.
차의 높이가 168 인 경우 세 지하차도의 높이가 주어질 때 지하차도에 충돌하지 않고 건널수 있는지 ( NO CRASH ) 아니면 지하차도에 부딪히는지 ( CRASH X )를 알아내는 프로그램을 작성하는 것이 문제이다.
입력
지하차도의 높이가 입력으로 주어진다. 각 지하차도의 높이는 0 에서 300 이다.
출력
세 개의 지하차도를 무사히 빠져 나가면 "NO CRASH" 를 출력하고 아니면 "CRASH X" 를 출력한다.
즉 지하차도의 높이는 168 이하이면 부딪히고 , X 는 최초로 부딪히는 지하차도의 높이이다.
입출력 예
입력 180 160 170 출력 CRASH 160
출처:South Central USA 2003
문제 풀이
1) 풀이1
import java.io.PrintStream;
import java.util.Scanner;
public class Main {
public static void main(String[] args){Scanner sc = new Scanner(System.in);
int carRoad1 = sc.nextInt();
int carRoad2 = sc.nextInt();
int carRoad3 = sc.nextInt();
String result = "CRASH ";
if(carRoad1 <= 168){ result += carRoad1;
}else if(carRoad2 <= 168){ result += carRoad2;
}else if(carRoad3 <= 168){ result += carRoad3;
}else{ result = "NO CRASH";
}
System.out.println(result);
}
}
1) 풀이2
import java.io.PrintStream;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int carRoad1 = sc.nextInt();
int carRoad2 = sc.nextInt();
int carRoad3 = sc.nextInt();
int temp = 0;if((temp = carRoad1) > 168 &&(temp = carRoad2) > 168 && (temp = carRoad3) > 168){
System.out.println("NO CRASH");
}else{
System.out.print("CRASH " + temp);
}
}
}
* 개인적인 풀이 내용입니다. 정해진 정답은 없습니다.
오늘의 풀이는 2가지 입니다.
제가 풀었던 과정은 풀이1 이고 다른 분들 코드에서 참신한 코드가 있어서 풀이2 로 비슷하게 구현해 봤습니다.
1번 풀이) 풀이 1의 내용은 입력 받은 3개의 값을 크기를 비교해서 168 보다 같거나 작으면 CRASH + 값 으로 출력하고
모두 기준보다 크면 "NO CRASH" 를 출력합니다.
최초로 출동한 값을 출력하기 위해서 if , else if , else 순서를 이용해서 최초 충돌되는 값을 출력하게 구현 했습니다.
2번 풀이) 풀이 2번의 내용은 and 연산자(&&) 를 매우 매력적으로 활용한 코딩이라서 비슷하게 구현해 봤습니다.
168 값과 비교하는 값을 매번 임시 temp 변수에 넣어서 비교를 합니다.
그리고 && 연산자에서 false 가 나오면 뒷 부분의 비교는 하지 않습니다.
그래서 제일 처음 false 가 판단 될때 temp 값에 들어가는 값이 최초의 충돌 값인 것이죠
그럼 오늘도 열공하세요!
'알고리즘(dovelet 문제풀이) > 2층' 카테고리의 다른 글
해킹 회사/hack( If 조건문 문제) (0) | 2016.12.13 |
---|---|
수영장 가는 날/swimming( or 조건 if 문 문제) (0) | 2016.12.09 |
음표/codi note (정렬 구별 문제) (0) | 2016.12.09 |
분수 크기 비교/compare(분수 크기 비교 알고리즘) (0) | 2015.11.26 |
대소 판별하기/compare(대소 판별하기 알고리즘) (0) | 2015.11.26 |