문자열

PS/백준

[백준] 5525 - IOIOI

5525번: IOIOI N+1개의 I와 N개의 O로 이루어져 있으면, I와 O이 교대로 나오는 문자열을 PN이라고 한다. P1 IOI P2 IOIOI P3 IOIOIOI PN IOIOI...OI (O가 N개) I와 O로만 이루어진 문자열 S와 정수 N이 주어졌을 때, S안에 PN이 몇 www.acmicpc.net ✏️ 풀이 처음에는 파이썬을 활용해서 슬라이싱윈도우를 통해서 일정 구간을 잘라 일치하는지 풀었다. 하지만 그렇게 풀어서 채점을 하니 50점밖에 나올 수 없었다. 그래서 고민을 했는데 도저히 모르겠어서 아이디어를 구했다. 반복문을 통해서 "IOI"패턴을 체크하는 방법이다. 처음에 IOI를 체크하고 그 다음 패턴들도 확인을 했다. 패턴의 갯수가 처음 입력한 N과 동일할 시에 cnt를 높혔다. 그리고..

PS/백준

[백준] 5430 - AC

5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net ✏️ 풀이 첫 번째 풀이 처음 문제를 풀었을 때, 마지막에 D, 0, [] 입력이 주어진 경우를 제대로 하지 않아서 Value error가 발생했다. 두 번째 풀이 RR이 나온경우에는 배열이 그대로라서 문자열 메서드의 replace를 통해서 RR을 지우고, 반복문을 통해서 진행을 했다. 그런데 생각해보니 replace의 시간 복잡도를 몰랐는데, n보다 더 많이 걸려서 그냥 반복문으로 처리했다. 결국 문제에서 주어진 R, D연산을 반복문을 통해서 진행했다. 뭔가 문제에서 이걸 원하는게 아닐거 같은데?라는 생각과 함께 ..

PS/프로그래머스

Lv1 숫자 문자열과 영단어

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2021 카카오 채용연계형 인턴십 문제로 나왔던 문제인 거 같다. 난이도로 봐서는 제일 쉬운 문제... 문제를 간단하게 말하면 one4seveneight라는 문자열이 들어오면 1478의 숫자로 반환하는 문제이다. 파이썬으로 풀었으면 정말 간단하게 replaceAll을 활용해서 풀었을 것이다. 여기서 생각이 나서 정규식을 활용해서 문제를 풀었다. const solution = (s) => { const words = ["zero", "one", "two", "three", "four", "five", "six"..

PS/프로그래머스

Lv1 문자열 다루기 기본

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Lv1 문제라 큰 어려움 없이 풀 수 있었다. 처음에는 parseInt로 숫자가 있는지 확인하는 방법을 사용했지만, JS의 정규식을 활용하면 더 간단하게 풀 수 있다고 생각해서 정규식을 활용해서 풀었다. const solution = (s) => /^\d{4}$|^\d{6}$/.test(s); 위 풀이에 대한 간단하게 설명하면 아래와 같다. ^: 문자열의 시작을 나타냅니다. \d: 숫자(digit)를 나타냅니다. \d{4}는 정확히 4개의 숫자로 이루어진 부분을 의미합니다. $: 문자열의 끝을 나타냅니다. |..

jjw000628
'문자열' 태그의 글 목록