반응형

# 자바 알람 시계 문제

  • 입력된 시간 보다 45분 전 울리는 알람 시계 문제
import java.util.Scanner;

public class Main {
  public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

    int h = scanner.nextInt();
    int m = scanner.nextInt();

    m = (m - 45);

    if ( m < 0 ) {
      if ( h == 0 ) {
        h = 24 - 1;
      } else {
        h = h - 1;
      }
      m = 60 + m;
    }

    System.out.println(h + " " + m);

  }
}

 

반응형

'알고리즘 > 프로그래머스, 백준, 구름' 카테고리의 다른 글

백준 2741 N찍기 자바  (0) 2020.10.21
백준 15552 빠른 A+B 자바  (0) 2020.10.21
StringBuffer이용에 따른 수행 시간  (0) 2020.06.13
map 자료구조  (0) 2020.06.04
set 자료구조  (0) 2020.06.04
반응형

*StringBuffer이용에 따른 수행 시간

- StringBuffer를 이용한 연산이 일반 연산을 이용할 때보다 결과를 도출해내는데 걸리는 시간이 짧다. (성능 향상에 도움이 된다.)

public class StringBufferPerformanceTest{
    public static void main(String[] args){
        // (1) String의 +연산을 이용해서 10,000개의 *를 이어붙입니다.
        //시작시간을 기록합니다.(millisecond단위)
        long startTime1 = System.currentTimeMillis();
        String str="";
        for(int i=0;i<10000;i++){
            str=str+"*";
        }
        //종료시간을 기록합니다.(millisecond단위)
        long endTime1 = System.currentTimeMillis();
        
        // (2) StringBuffer를 이용해서 10,000개의 *를 이어붙입니다.
        //시작시간을 기록합니다.(millisecond단위)                
        long startTime2 = System.currentTimeMillis();
        StringBuffer sb = new StringBuffer();
        for(int i=0;i<10000;i++){
            sb.append("*");
        }
        //종료시간을 기록합니다.(millisecond단위)
        long endTime2 = System.currentTimeMillis();
        
        // 방법(1)과 방법(2)가 걸린 시간을 비교합니다.
        long duration1 = endTime1-startTime1;
        long duration2 = endTime2-startTime2;
        
        System.out.println("String의 +연산을 이용한 경우 : "+ duration1);
        System.out.println("StringBuffer의 append()을 이용한 경우 : "+ duration2);
    }
}

 

 

반응형

'알고리즘 > 프로그래머스, 백준, 구름' 카테고리의 다른 글

백준 15552 빠른 A+B 자바  (0) 2020.10.21
자바 알람 시계 문제  (0) 2020.10.20
map 자료구조  (0) 2020.06.04
set 자료구조  (0) 2020.06.04
Math 클래스  (0) 2020.06.04
반응형

*map 자료구조

- map은 key와 value를 쌍으로 저장하는 자료구조이다.

- 키는 중복될 수 없고, 값은 중복될 수 있다. 

- Map에 값을 추가하기 위해서는 put()을 이용한다.

import java.util.*;

public class MapExam{
    public Map<String, Integer> makeMap(){
        Map<String, Integer> products = new HashMap<>();
        
		// map에 값 추가
        products.put("가위", 2500);
        products.put("크레파스", 5000);
        
        return products;
    }
    
    public static void main(String[] args){
    }
}
반응형

'알고리즘 > 프로그래머스, 백준, 구름' 카테고리의 다른 글

자바 알람 시계 문제  (0) 2020.10.20
StringBuffer이용에 따른 수행 시간  (0) 2020.06.13
set 자료구조  (0) 2020.06.04
Math 클래스  (0) 2020.06.04
스트링 버퍼(StringBuffer)  (0) 2020.06.03
반응형

*set 자료구조

- 중복과 순서가 없는 자료구조이다.

- set은 이미 있는 값이면 중복된 값을 더해도 하나만 유지된다. 

import java.util.*;

public class SetExam{
    public static void main(String[] args){
    
    	// set 자료구조.
        
        Set<String> set = new HashSet<String>();
        set.add("a");
        set.add("a");
        set.add("b");
        
        // 중복된 값을 추가해도 set 자료구조 내에는 a, b만 존재.
        System.out.println("set의 내용을 출력합니다.");
        for(String str : set){
            System.out.println(str);
        }
    }
}
반응형

+ Recent posts