일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 구글 킥스타트
- 브루트포스
- DFS
- 네트워크
- 파이썬
- 리눅스
- 프로그래머스
- kick start
- 코딩테스트
- 딥러닝
- 순열
- 프로그래밍
- AI
- 코딩
- dp
- 운영체제
- PYTHON
- OS
- BFS
- CSS
- 알고리즘
- google coding competition
- 동적프로그래밍
- 동적 프로그래밍
- 그래프
- 코딩 테스트
- 킥스타트
- nlp
- 백준
- linux
- Today
- Total
목록문자열 (7)
오뚝이개발자
문제 https://codingcompetitions.withgoogle.com/kickstart/round/000000000043585c/000000000085a152#analysis Kick Start - Google’s Coding Competitions Hone your coding skills with algorithmic puzzles meant for students and those new to coding competitions. Participate in one round or join them all. codingcompetitions.withgoogle.com 나의 풀이 1. IMPOSSIBLE인 case check 가장 빈번하게 등장하는 알파벳의 등장 횟수가 len(s)//2보다 ..
문제 https://www.acmicpc.net/problem/1259 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net 나의 풀이 양끝에서부터 하나씩 이동시켜가면서 서로 문자를 비교해보면 된다. 왼쪽에서 오른쪽으로 가는 포인터를 l, 오른쪽에서 왼쪽으로 가는 포인터를 r이라고 하자.(two pointer 방식) l = 0, r = len(a)-1로 초기화 해주고 a[l]과 a[r]을 서로 비교해준다. a[l] == a[r] -> l += 1, r -= 1 a[l] != a[r] -> print("no")하고 break 여기서..
문제 https://www.acmicpc.net/problem/1013 1013번: Contact 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 전파를 표현하는, { 0, 1 }만으로 이루어진 문자열이 공백 없이 주어진다. 문자열 길이는 (1 ≤ www.acmicpc.net 나의 풀이 정규표현식을 사용하면 되는 문제이다. 약간 신경써야할 부분은 re의 match()함수가 아니라 fullmatch() 함수를 사용해야 한다는 점이다. match()의 경우 일치하는 부분문자열이 있는 경우 True를 return하지만 문제에서 요구하는 것은 문자열의 처음부터 끝까지 해당 정규표현식의 규칙을 가진 경우를 detection해야 한다. 따라서 fullmatch()..
파이썬에서 사전순으로 문자열들을 정렬하기는 쉽다. sort()를 사용하면 정렬이 된다. sorted()를 사용하면 원본 리스트를 변경하지 않고 정렬이 가능하다. a = ['cd', 'ef', 'ab'] a.sort() print(a)# ['ab', 'cd', 'ef'] 하지만 만약 문자열 자체를 정렬할 필요가 있는 경우 파이썬에서는 어떻게 해야할까? 예컨대, s="adfe"라는 문자열을 정렬해서 "adef"로 만들려고 한다. s = "adfe" s1 = s.sort()# wrong s2 = sorted(s)# ['a','d','e','f'] s3 = ''.join(sorted(s))# "adef" 먼저 그냥 s.sort()를 쓰면 안된다. - str type에 sort()라는 메소드가 없기 때문(이유는 ..

문제설명 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들면, 문자열 s가 abcdcba이면 7을 return하고 abacde이면 3을 return합니다. 제한사항 문자열 s의 길이 : 2,500 이하의 자연수 문자열 s는 알파벳 소문자로만 구성 입출력 예 입출력 예에 대한 설명 입출력 예 #1 4번째자리 'd'를 기준으로 문자열 s 전체가 팰린드롬이 되므로 7을 return합니다. 입출력 예 #2 2번째자리 'b'를 기준으로 aba가 팰린드롬이 되므로 3을 return합니다. 풀이 주어진 문자열 s의 부분 문자열들을 모두 검..

문제설명 선행 스킬이란 어떤 스킬을 배우기 전에 먼저 배워야 하는 스킬을 뜻합니다. 예를 들어 선행 스킬 순서가 스파크 → 라이트닝 볼트 → 썬더일때, 썬더를 배우려면 먼저 라이트닝 볼트를 배워야 하고, 라이트닝 볼트를 배우려면 먼저 스파크를 배워야 합니다. 위 순서에 없는 다른 스킬(힐링 등)은 순서에 상관없이 배울 수 있습니다. 따라서 스파크 → 힐링 → 라이트닝 볼트 → 썬더와 같은 스킬트리는 가능하지만, 썬더 → 스파크나 라이트닝 볼트 → 스파크 → 힐링 → 썬더와 같은 스킬트리는 불가능합니다. 선행 스킬 순서 skill과 유저들이 만든 스킬트리1를 담은 배열 skill_trees가 매개변수로 주어질 때, 가능한 스킬트리 개수를 return 하는 solution 함수를 작성해주세요. 제한사항 스킬..
1. strip('charset') 문자열 양끝에서 charset을 제거한다. charset을 지정해주지 않으면 공백문자를 제거한다. '\t', '\n'도 공백문자와 같이 취급한다. >>>" python ".strip() 'python' >>>">>> python >> python is good.>>>".lstrip('>') ' python is good.>>>' 3. rstrip('charset') 문자열 오른쪽 끝에서 charset을 제거한다. charset을 지정해주지 않으면 공백문자를 제거한다. >>>"\t\n python \n\t".rstrip() '\t\n python ' >>>">>> python is good.>>>".rstrip('>') '>>> python is good.'