문자열(4)
-
[Programmers 알고리즘] [2020카카오공채] 문자열 압축
입사 후 너무 코딩에 소홀했던 것 같아서 알고리즘 공부를 다시 시작해보자 한다. 웹 개발자로 전향하면서 javascript를 좀 더 잘 쓸 줄 알아야 할 것 같아서 javascript로 알고리즘을 풀고자 하였는데 백준에는 node.js밖에 없어서 javascript 지원되고, 더 단계별로 접근하기 쉬운 programmers 서비스를 이용해보려고 한다. 문제 설명 압축할 문자열 s가 매개변수로 주어질 때, 1개 이상 단위로 문자열을 잘라 압축하여 표현한 문자열 중 가장 짧은 것의 길이를 return 하도록 solution 함수를 완성해주세요. ex) abcabcdede와 같은 경우, 문자를 2개 단위로 잘라서 압축하면 abcabc2de가 되지만, 3개 단위로 자른다면 2abcdede가 되어 3개 단위가 가..
2020.02.27 -
[백준(baekjoon) 5525] IOIOI
[백준(baekjoon) 5525] IOIOI 문제 백준 5525 N+1개의 I와 N개의 O가 교대로 이루어진 문자열 PN = IOIOI...OI (O가 N개)가 있다. 예시 : P1 = IOI, P3 = IOIOIOI I, O로만 이루어진 문자열 S와 N이 주어질 때, S안에 PN이 몇개 들어있는지 구하시오. 해결 알고리즘 정해진 패턴을 찾는 문자열 매칭 알고리즘이라고 할 수있다. PN은 IOI가 N개 만큼 반복되는 형태이기 때문에, KMP와 같은 별도의 알고리즘을 사용하지 않고 for문을 사용해 일일이 IOI패턴을 찾아 횟수를 센 후 N과 비교하는 방식으로 진행하였다. 시간 복잡도 : O(N) 설명 앞서 말한 것처럼 PN은 IOI가 N개 만큼 반복되는 형태이다. 즉, 각 index를 비교해 IOI 패..
2018.07.16 -
[백준(baekjoon) 10769] 행복한지 슬픈지
[백준(baekjoon) 10769] 행복한지 슬픈지 문제 백준 10769 1.행복한 표정 : :-), 2.슬픈 표정 : :-( 입력 받은 문자열에 두가지 이모티콘이 섞여 들어올 때, 아래 규칙에 따라, 전체적인 분위기를 파악해 결과를 출력하라. 어떤 이모티콘도 포함되어 있지 않음 : none 행복한 이모티콘과 슬픈 이모티콘의 수가 동일하게 포함 : unsure 행복한 이모티콘이 슬픈 이모티콘보다 많이 포함 : happy 슬픈 이모티콘이 행복한 이모티콘보다 많이 포함 : sad 해결 알고리즘 정해진 패턴을 찾는 문자열 매칭 알고리즘이라고 할 수있다. 찾고자 하는 패턴이 모두 다른 3문자이므로 for문을 사용해 일일이 확인하였다. 시간 복잡도 : O(N) 설명 우선 이모티콘 3문자가 연속으로 나오는지 확인..
2018.07.16 -
[백준(baekjoon) 2902] KMP는 왜 KMP일까?
[백준(baekjoon) 2902] KMP는 왜 KMP일까? 문제 백준 2902 알고리즘 명을 지을 때, 주로 만든 사람들의 성의 첫글자만 따서 줄여 부른다. 긴 형태 : 하이픈(-)으로 이어 붙인 것 예시 : Knuth-Morris-Pratt 짧은 형태 : 첫 글자만 딴 것 예시 : KMP 긴 형태의 알고리즘 명이 주어졌을 때, 짧은 형태로 바꿔 출력하라. 해결 알고리즘 굳이 구분하자면 문자열 알고리즘이라고 할 수있다. 설명 하이픈 (-) 기준으로 이름을 나누고, 앞 문자만 가져와 붙이는 쉬운 문제이다. String.split(String regex)로 정규 표현식에 따라 문자열을 구분하였고, String.charAt(int index)로 각 이름의 첫글자에 접근하였다. 그리고 가변객체인 StringB..
2018.07.16