성장, 그 아름다운 향연
백준 1302) 베스트셀러
algorithm/탐색 2021. 4. 26. 19:29

www.acmicpc.net/problem/1302 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net 문제 김형택은 탑문고의 직원이다. 김형택은 계산대에서 계산을 하는 직원이다. 김형택은 그날 근무가 끝난 후에, 오늘 판매한 책의 제목을 보면서 가장 많이 팔린 책의 제목을 칠판에 써놓는 일도 같이 하고 있다. 오늘 하루 동안 팔린 책의 제목이 입력으로 들어왔을 때, 가장 많이 팔린 책의 제목을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,0..

article thumbnail
[Kotlin] for문을 사용할 때 느낀 고찰
algorithm/문자열 2021. 4. 13. 18:48

www.acmicpc.net/problem/1159 1159번: 농구 경기 상근이는 농구의 세계에서 점차 영향력을 넓혀가고 있다. 처음에 그는 농구 경기를 좋아하는 사람이었다. 농구에 대한 열정은 그를 막을 수 없었고, 결국 상근이는 농구장을 청소하는 일을 시작 www.acmicpc.net 문자열을 공부하면서 부정확한 for문의 이해로 몇 번의 실패를 경험하게 됐다. 필자가 문제를 풀면서 헷갈렸던 점은 1.for문의 'in' 다음으로 배열 혹은 collection을 선언하는 것 배열 혹은 collection의 크기를 범위로 두는 것 처음에 문제를 풀 때는 첫 번째 방법으로 접근하려 했다. import java.io.* fun main() { val br = BufferedReader(InputStream..

[Kotlin] 소수점 반올림하는 법
algorithm/구현 2021. 4. 6. 23:08

https://www.acmicpc.net/problem/10179 10179번: 쿠폰 당신은 어떤 물건이라도 20% 할인해주는 쿠폰을 가지고 있다. 원래 가격이 주어질 때, 쿠폰을 사용하면 얼마가 되는지 알려주는 프로그램을 작성하시오. www.acmicpc.net 문제 당신은 어떤 물건이라도 20% 할인해주는 쿠폰을 가지고 있다. 원래 가격이 주어질 때, 쿠폰을 사용하면 얼마가 되는지 알려주는 프로그램을 작성하시오. 입력 첫 번째 줄에 테스트케이스의 수가 주어진다. 각 줄에는 물건의 원래가격이 소수점 둘째자리까지 주어진다. 출력 할인된 가격을 달러 단위로 출력한다. 나누어떨어지지 않을 때는 소수점 셋째 자리에서 반올림해서 둘째 자리까지 출력한다. 해당 문제를 풀기 위해서는 다음과 같은 개념이 필요하다...

article thumbnail
[Kotlin] Rxjava에서 fromArray에 배열 넣는 방법
language/Rx 2021. 4. 6. 21:15

gradle 기준 "io.reactivex.rxjava2:rxjava:2.2.21" Rxjava를 코틀린으로 변경해보며 학습하던 중에 Observable의 fromArray를 실습했다. java에서는 배열을 인자로 넣었을 때 각각의 요소에 접근할 수 있었지만, kotlin에서는 주소값으로 전달되어 오류가 발생했다. 이를 해결하기 위해 인터넷 검색을 해보았고 많은 개발자들은 fromArray 대신 fromIterable을 사용하기를 권장했다. 그래서 kotlin에서는 fromArray를 사용할 수 없는거구나라고 생각하고 번거롭지만 Collection인 list와 같은 구조를 이용했었다. 그러던 중에 갑자기 C언어에서 배웠던 포인터(*) 개념이 문득 떠올랐다. 그래서 혹시나 하는 마음에 인자에다가 *을 첨부..

article thumbnail
[Kotlin] 그리디 알고리즘(탐욕 알고리즘)

[fastcampus 알고리즘 강의 내용 참고] 탐욕 알고리즘이란 최적의 해에 가까운 값을 구하기 위해 사용됩니다. 즉, 여러 가지 경우 중에서 하나를 결정할 때, 매 순간마다 최적의 경우만 선택하는 방식을 채택해서 최종적인 값을 구합니다. 예를 들어보겠습니다. 문제1) 동전 문제 1원, 50원, 100원, 500원 동전이 주어질 때, 가장 적게 지불하는 동전의 수를 구하기 //val coinList = listOf(1,100,50,500) private fun Int.coinProblem(list: List) : Int { //외부로부터 숫자를 전달받을 때 항상 고정값이므로 Int.함수명을 이용 //항상 최적을 따라야 하기 때문에 가장 큰 숫자부터 내림차순으로 정렬 val coinList = list...

profile on loading

Loading...