본문 바로가기

분류 전체보기556

Kotlin] 프로그래머스 lv.0 문자열 겹쳐쓰기 https://school.programmers.co.kr/learn/courses/30/lessons/181943 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 더보기 코틀린에는 replaceRange(startIndex, endIndex, string)이라는 문자열 매서드가 있다. 짐작이 가겠지만, startIndex부터, intIndex까지의 문자열을 string으로 바꾸겠다는 매서드이다. 즉, 문제에 대입해모면, 매개변수로 받아오는 정수부터, overWritten되는 글자의 수만큼 바꿔야하므로, startIndex = s, endIndex =.. 2023. 6. 9.
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.
반응형