알고리즘 문제/풀어본 것
-
[프로그래머스] 올바른 괄호 python(level 2)알고리즘 문제/풀어본 것 2022. 10. 30. 13:15
https://school.programmers.co.kr/learn/courses/30/lessons/12909?language=python3 1트 deque()을 쓸 때 안에 문자열을 주어서 초기화해도 된다. 내 풀이 # from collections import deque # def solution(s): # answer = True # # target = deque(s) # # count = 0 # while len(target) > 0: # now = target.popleft() # if now == "(": # count += 1 # elif now == ")": # count -= 1 # if count < 0: # break # if count != 0: # answer = False #..
-
[프로그래머스] JadenCase 문자열 만들기(level 2)알고리즘 문제/풀어본 것 2022. 10. 30. 13:07
https://school.programmers.co.kr/learn/courses/30/lessons/12951 1트 str.title() str.capitalize() 등 좋은 내장함수가 많다는 것을 알았다. 문제 풀 때 좀 더 세심히보자. 요새 코테 트렌드는 얼마나 빠르고 정확히 푸는 가이다. 얼마나 많은 알고리즘을 알고 있는가가 아니다. try를 적게 하자! 내 풀이 def solution(s): is_first = True jaden_case = "" for ch in s: if is_first and ch != " ": jaden_case += ch.upper() is_first = False continue jaden_case += ch.lower() if ch == " ": is_first..
-
[프로그래머스] 최댓값과 최솟값(level2)알고리즘 문제/풀어본 것 2022. 10. 30. 12:45
1트 max, min 을 쓸 때 map 객체에는 쓸 수 없다. 자세한 것은 모르지만 1번만 사용 가능한 것 같다. list로 바꾸도록 하자. 변수명으로 reserved keyword 를 쓰는 걸 조심하자. 특히 min, max!! 출력용 string을 만들 때는 python에서 f-string 을 사용하면 편하고 빠르다. 내 풀이 def solution(s): answer = '' arr = list(map(int, s.split())) min_value = min(arr) max_value = max(arr) answer = f"{min_value} {max_value}" return answer
-
[백준] 1620 python - 나는야 포켓몬 마스터 이다솜(실버 4)알고리즘 문제/풀어본 것 2022. 10. 25. 12:59
1트 open(0).readline() 은 sys.readline()과 동일하다. 둘 다 마지막에 개행이 붙는다. 0 표준 입력 1 표준 출력 2 표준 에러 read() - list의 pop()과 비슷하게 함수 호출때마다 결과를 불러오고 불러온 데이터를 폐기한다. - 불러올 데이터가 없을 때는 빈 문자열을 출력한다. - 불러올 문자열의 크기를 이낮로 줄 수 있따. 입력하지 않을 경우 파일 전체 문자열을 불러온다. readline() - 함수의 구동 방식은 read()와 비슷. 하지만 size 지정이 없다. 파일의 한 줄을 가져와 문자열로 반환한다. 파일 포인터는 다음 줄로 이동한다. readlines(): 파일 전체 내용을 가져와 리스트로 반환한다. 각 줄은 문자열 형태로 리스트 요소에 저장한다. *변수..
-
[백준] 10866 python - 덱(실버 4)알고리즘 문제/풀어본 것 2022. 10. 24. 12:03
https://www.acmicpc.net/problem/10866 1트 덱은 선형자료구이다. 요소가 양쪽 끝 모두에 들어가고 나올 수 있다. 내 풀이 import sys from collections import deque cmd_case_num = int(sys.stdin.readline()) _deque = deque() for _ in range(cmd_case_num): cmd_list = sys.stdin.readline().rstrip().split() if len(cmd_list) == 2: cmd, element = cmd_list else: cmd = cmd_list[0] if cmd == "push_front": _deque.appendleft(element) continue if c..
-
[백준] 10845 python - 큐(실버 4)알고리즘 문제/풀어본 것 2022. 10. 24. 12:01
https://www.acmicpc.net/problem/10845 1트 큐는 선형자료구조이다. 요소가 한쪽으로 들어와서 다른 쪽으로 나간다. 내 풀이 import sys from collections import deque cmd_case_num = int(sys.stdin.readline()) queue = deque() for _ in range(cmd_case_num): cmd_list = sys.stdin.readline().rstrip().split() if len(cmd_list) == 2: cmd, element = cmd_list else: cmd = cmd_list[0] if cmd == "push": queue.append(element) continue elif cmd == "pop..
-
[백준] 10828 - 스택(실버 4)알고리즘 문제/풀어본 것 2022. 10. 24. 11:59
https://www.acmicpc.net/problem/11828 1트 스택은 자료구조 중 하나이다. 선형 자료구조이다. 요소가 한쪽으로만 들어오고 나가는 구조이다. 선입선출구조다. import sys from collections import deque cmd_case_num = int(sys.stdin.readline()) stack = deque() for _ in range(cmd_case_num): cmd_list = sys.stdin.readline().rstrip().split() if len(cmd_list) == 2: cmd = cmd_list[0] element = cmd_list[1] else: cmd = cmd_list[0] if cmd == "push": stack.append(..
-
[백준] 1003 python - 피보나치 함수(실버 3)알고리즘 문제/풀어본 것 2022. 10. 22. 17:01
1트 memoization과 dynamic programming 공부하기 tuple 끼리 더하면 extends()처럼 서로 붙어서 길어진 새로운 객체를 return한다. 내 풀이 import sys result = dict() result[0] = (1, 0) result[1] = (0, 1) def solution(num): if num in result.keys(): return result[num] left_num = solution(num - 1) right_num = solution(num - 2) result[num] = (left_num[0] + right_num[0], left_num[1] + right_num[1]) return result[num] test_case_num = int(s..