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 값에 들어가는 값이 최초의 충돌 값인 것이죠

 

    그럼 오늘도 열공하세요!

 

+ Recent posts