목록코딩테스트/문자열 (3)
clap0107
https://school.programmers.co.kr/learn/courses/30/lessons/181905 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이: 문자열을 뒤집는 방법 중 한 가지인 인덱스 슬라이싱을 사용하였다. 문자열[시작:끝:규칙]로 적을 수 있는데 규칙은 문자열을 슬라이싱 하는 숫자를 뜻한다. 규칙에 default값인 1을 적어주면 [0], [1], [2]씩 잘라서 새로운 문자열을 생성하고, 2를 적어주면 [0], [2], [4]씩 잘라서 새로운 문자열을 생성한다. 이걸 응용하여 문자열[::-1]을 적어주면 문자열을 뒤집어서 ..
https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 풀이: 파이썬에서 제공되는 find와 count 함수를 사용하면 쉽게 해결할 수 있다. find 함수는 찾고자 하는 문자열의 위치값(index)을 반환하고, count 함수는 찾고자 하는 문자열의 개수를 반환한다. 전체 문자열의 길이에서, 크로아티아 알파벳의 개수를 빼주면 정답을 얻을 수 있다. str = input() croatia = ['c=', 'c-',..
https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 풀이: 문자열 문제여서 간단히 R과 D의 개수만 새고 나중에 몰아서 처리하려고 했다. 계속 틀려서 뭐가 문제인지 구글링을 해보니 R을 하고 D를 할 때마다 삭제하는 문자들이 달랐다. 예를 들어 [1, 2, 3, 4]라는 배열을 RDRD 한다고 생각하면 [4, 3, 2, 1] -> [3, 2, 1] -> [1, 2, 3] -> [2, 3]이 된다. 처음 생각한 방법으로 하게 되면 R 2개 D 두 개 이기 때문에 [1, 2, 3, 4] -> [3, 4]라는..