본문 바로가기

스터디(beakjoon)98

Kotlin] 백준 25206번 문제풀이 https://www.acmicpc.net/problem/25206 25206번: 너의 평점은 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치 www.acmicpc.net 풀이 더보기 이 문제는.. 시키는데로 따라가면 풀 수 있다. 일단 외부에 전체 학점 수, 전체 점수를 전역변수로 지정한다. 20개가 주어진다고 했으니 반복문을 20개로 걸어둔다 반복문마다 readLine을 받아 split으로 과목명, 학점, 등급 순으로 나눠둔다. 만약 등급이 P라면 계산에서 제해야하므로 continue로 다음 입력을 받는다. 아니라면 먼저 등급별 점수를 계산하는데, 나같은 경우는 F .. 2023. 6. 12.
Kotlin] 백준 1316번 문제풀이 https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 풀이 더보기 이 문제는.. 내 풀이가 최선이란 생각이 도저히 들진 않지만. 이 문제의 핵심은, 그래서 앞서 나온 알파벳이 저 뒤에 다시 나오지 않는지 체크해야한다. 단, 함께 붙어나온다면 예외로 친다. 내가 선택한 방식은 1. 새 문자열을 만든다 2. 입력받은 문자열의 글자크기만큼 반복하여, 새 문자열의 뒷 공백을 trim으로 날리고 만나는 마지막 문자와 현재 인덱.. 2023. 6. 9.
Kotlin] 백준 2941번 문제풀이 https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 풀이 더보기 이 풀이는 알파벳이 몇 개 쓰였냐, 세는 문제인데... 문제라면 크로아티안 문자가 1개 이상의 글자로 이루어졌다는 점이다. 따라서 단순히 charArray() 로 나누는 것은 의미가 없고.. 그렇다면 문자에서 해당 글씨를 찾아서 세는 법밖에 없다. 먼저 치환 문자를 저장한 array를 생성하고, 해당 배열을 반복하여 문장에서 해당 문자가 있는지 찾.. 2023. 6. 9.
Kotlin] 백준 1157번 문제풀이 https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 풀이 더보기 (이 문제는 내가 짠 식이 시간복잡도 상 최적의 효율이라 생각되지 않는다 ;ㅅ; ) 먼저 입력받은 문자열이 대소문자를 구분하지 않으므로, 그리고 대문자 출력을 원했으므로 upperCase()를 통해 대문자로 치환한다. 그리고 알파벳 별로 띄워놓기 위해 .toCharArray()를 통해 배열로 전환한다. 그리고 distinct()를 통해 겹치는 요소를 삭제한다. 그리고 반복문을 돌리기 전에 최고값을 파악하고, 이 때의 .. 2023. 6. 8.
반응형