일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- 가위바위보 풀이
- 리트허브 커밋
- 파이썬 특정 문자 제거하기
- 프로그래머스 가위바위보
- 배열의 유사도 파이썬
- 비지니스 레이어
- 스프링 시스템 구조
- 공선옥
- 알고리즘
- 프레젠테이션 레이어
- Programmers 배열의 유사도
- 프로그래머스 가위바위보 풀이
- leftJoin
- 파이썬 컬렉션
- 춥고더운우리집
- 주니어개발자
- 슈츠 자막
- 춥고 더운 우리 집
- 리트허브 오류
- 프로그래머스 배열의 유사도 파이썬
- 프로그래머스 특정 문자 제거하기
- 프로그래머스
- 개발자 취준
- 리트허브 사용법
- 특정문자 제거하기
- BigO notation
- 프로그래머스 배열 회전시키기
- programmers 배열 회전
- collection python
- 2-layered architecture
- Today
- Total
목록Algorithm/Programmers (16)
기억보다 기록을
중복제거니까 set을 쓸까하다가, 순서가 ordered 되어야하니 패스. Collection 라이브러리의 orderDict이 중복제거 시 성능이 좋길래 무턱대고 써 from collections import OrderedDict def solution(s): answer= ''.join(sorted(list(OrderedDict.fromkeys(s)))) if len(answer) == 0: return '' else: print(answer) 당연히 안됩니다.. 매개변수 s가 "abcabcadc" 라면 "d"를 리턴해야하는데 위의 코드는 "abcd"를 리턴한다. 그럼 어떻게 풀어야하나. 1) 리스트 컴프리헨션 2) Collections의 counter 두가지로 풀어보자. 1) list comprehen..
def solution(my_string): ''' source: https://school.programmers.co.kr/learn/courses/30/lessons/120888 ''' return ''.join(dict.fromkeys(my_string)) idea: - 중복된 문자를 제거한다 -> set - 순서를 지키면서 합칠 수 있는 것 -> 딕셔너리 사용 여기서는 dict.fromkeys(순회할 자료, 키에 매핑될 값) 사용 -> 키는 중복을 허용하지 않고 순서를 지킴 -> 키에 매핑될 값은 생략 가능함

import re def solution1(order): ''' source: https://school.programmers.co.kr/learn/courses/30/lessons/120891 idea: 1. count() 를 이용하여 풀기 (solution1) 2. lambda() 사용 (solution2) 3. filter() 사용 (solution3) 4. 정규표현식의 findall() 사용 (solution4) ''' answer = 0 order = str(order) answer += order.count('3') answer += order.count('6') answer += order.count('9') return answer def solution2(order): order = st..
def solution(age): planet = 'abcdefghij' return ''.join(list(map(lambda x: planet[int(x)], str(age)))) source: https://school.programmers.co.kr/learn/courses/30/lessons/120834 + 이 문제 풀면서 python lambda, map 개념과 친해져서 뿌듯하다! map이면 당연히 자바의 key,value 형태의 자료구조일거라고 착각하고 왜 람다를 map에 담을까.. 고민하느라 시간보냄😅

def solution1(numbers, direction): if direction == 'right': return [numbers[-1]] + numbers[:-1] else: return numbers[1:] + [numbers[0]] return answer def solution2 (numbers,direction): if direction == 'right': numbers = deque(numbers) numbers.rotate(1) return list(numbers) else: numbers = deque(numbers) numbers.rotate(-1) return list(numbers) source: https://school.programmers.co.kr/learn/course..
import re def solution1(my_string, letter): return re.sub(letter, '', my_string) # replace 함수사용 def solution2(my_string, letter): return my_string.replace (letter, '') resource: https://school.programmers.co.kr/learn/courses/30/lessons/120826 suedo code : for나 if 문 사용? x python replace 함수 사용하기. -solution2 문자열은 뒤로갈수록 어려워지기 때문에 정규표현식 이용한 방법도 사용해보기-solution1 -> 정규표현식(파이썬 re library 사용)은 특정 문자열 패턴을 ..
def solution(s1, s2): count = 0 for i in s1: if i in s2: answer += 1 count +=1 return count # 합집합은 | 사용 def solution2(s1, s2): return len (set(s1) & set(s2)) # 배열끼리 + 하면 합집합이구나 알 수 있음(중복제거됨) def solution3(s1, s2): return len(s1)+ len(s2)- len (set([s1 + s2])) resource: https://school.programmers.co.kr/learn/courses/30/lessons/120903 suedo code: 0. declare 1 variable 'count' initialize w/ '0' 1. ..
def solution(rsp): answer = '' for i in rsp: if i == '0': answer += '5' elif i == '2': answer += '0' elif i == '5': answer += '2' return answer def solution2(rsp): d = {'0':'5','2':'0','5':'2'} answer = '' for i in rsp: # 이렇게하면 딕셔너리의 key, value에서 해당 key(index)에 해당하는 value 값을 리턴함을 알 수 있음 / https://wikidocs.net/16 answer += d[i] return answer # 리스트 컴프리헨션 https://wikidocs.net/22805 참고 def solution3..