티스토리 뷰

 

단계별 문제풀이 11단계 브루트포스

 

7568번: 덩치

우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩

www.acmicpc.net

  • with() 함수는 어떤 객체의 이름을 반복하지 않고 객체에 대해 다양한 연산을 수행할 수 있게 해준다.
    BufferedReader(InputStreamReader(System.`in`) 대신 System.`in`.bufferedReader()를 사용하면 코드도 깔끔해지고 import를 줄일 수 있다.
  • 각 사람의 몸무게와 키를 입력받아서  split(), map() 함수를 사용하여 정수로 바꿔주었다.
  • 덩치가 더 큰 사람의 수를 구하기 위해 코틀린에서 제공하는 Collection API 중 count 함수를 사용했다.
  • count 함수는 조건을 만족하는 원소의 개수를 반환한다.

 

단계별 문제풀이 12단계 정렬

 

18870번: 좌표 압축

수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌

www.acmicpc.net

  • distinct() 함수는 컬렉션 내 중복된 항목을 제외하고 컬렉션을 반환한다.
  • sort() 함수도 있고 sorted() 함수도 있는데 sorted() 함수는 정렬된 List 타입으로 반환해준다. 
    sorted()를 사용하는 경우에는 해당 리스트를 따로 저장을 해주어야 하고 List 타입의 경우 sorted만 존재한다.
    반면 sort() 함수를 사용하면 해당 MutableList를 정렬해주기 때문에 따로 저장을 하지 않아도 된다.
  • 위 코드에서는 coord가 List 타입이기 때문에 sorted 함수를 사용했다.
  • map에 해당 숫자보다 작은 좌표들의 개수를 저장해둔다.
    중복을 제거하고 정렬된 리스트에서의 인덱스가 바로 해당 숫자보다 작은 좌표들의 개수이다.
  • StringBuilder는 문자열을 더할 때 새로운 객체를 생성하는 것이 아닌 기존의 데이터를 더하는 방식을 사용하기 때문에 속도도 빠르며 상대적으로 부하가 적다.
    출력해야 하는 것이 많은 경우에는 StringBuilder를 사용하자!

 

 

2750번: 수 정렬하기

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

www.acmicpc.net

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함