전체 글 275

Persona 3 ost - キミの記憶

https://youtu.be/eo-H3uSNTo8 風の声 光の粒 まどろむ君にそそぐ 카제노 코에 히카리노 츠부 마도로무 키미니 소소구 바람의 목소리와 빛의 알갱이가 잠자는 당신에게 내리고 忘れない 優しい微笑み 哀しさ隠した瞳を 와스레나이 야사시이 호호에미 카나시사 카쿠시타 히토미오 잊지 않아요, 상냥한 미소를 슬픔을 숨긴 눈동자를 願うこと (辛くても) 立ち向かう勇気 君に貰っただから 行くね 네가우 코토 (츠라쿠테모) 타치무카우 유우키 키미니 모랏타 다카라 유쿠네 바랐던 (괴롭더라도) 맞서는 용기 당신에게 받았으니까 가도록 할게요 夢の中 (目覚めたら) また会えるよ 유메노 나카 (메자메타라) 마타 아에루요 꿈속에서 (눈을 뜨면) 다시 만날 수 있어요 遠い記憶 胸に秘め歌う 토오이 키오쿠 무네니 히메 우타우 아득한..

취미/music 2022.09.19

20220919 TIL

오늘의 한 일 자료구조, 알고리즘 강의 - 1~3주차 백준 알고리즘 문제 풀이 및 정리 - 재귀, 브루트 포스 자료구조, 알고리즘 강의 1~3주차 ** 시간 복잡도, 공간 복잡도 ** 어레이와 링크드 리스트, 클래스를 이용한 링크드 리스트 구현 ** 재귀 함수 ** 정렬 (버블 정렬, 선택 정렬, 삽입 정렬, 병합 정렬) ** 스택, 큐 ** 해쉬 자료구조 알고리즘 카테고리 정리 예정. 이걸 먼저 듣고 백준문제를 풀었어야 했는데! 재귀 함수에 대해 이해하기 쉽게 설명해주어 영양가 높은 강의였다. 백준 문제풀이를 하면서 신경쓰였던 시간초과 부분에 관해서도 시간 복잡도에 대한 설명을 통해 어떤 식으로 시간을 줄여나가야 할지 이해하는데 큰 도움이 됐다. 클래스의 이용 방법도 특강만 들었을때는 어떻게 쓰일지 도..

python 백준 알고리즘 1436번: 영화감독 숌

https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net 첫 666의 카운트를 1로 잡고 무식하게 1씩 더해가면서(six_n += 1) '666'이 포함될때마다 카운트를 늘린다. 입력받은 n의 값을 카운트로 하는 수를 출력하면 끝. 내 제출 n = int(input()) cnt = 0 six_n = 666 while True: if '666' in str(six_n): # 666이란 글자가 포함되어 있다면 cnt += 1 # 카운트 올리기 666(1)..

python 백준 알고리즘 1018번: 체스판 다시 칠하기

https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 8*8 체스판을 만들기 위해 공간확보 필요(range(n-7), range(m-7)) 흰색으로 시작할 경우, 검은색으로 시작할 경우별로 경우의 수를 모두 구해서 최솟값(min) 출력. 구상은 했지만 코드를 짜는데 어려움을 많이 겪어 구글링을 많이 한 문제다. 꾸준히 복습해서 제대로 흡수합시다 내 제출 n, m = map(int, input().split()) # 열, 행 board = []..

python 백준 알고리즘 7568번: 덩치

https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net input값으로 리스트 작성 후 이중 반복문을 통해 각 인물들마다 리스트 인원별로 키, 몸무게를 비교해서 둘 다 작다면 등수를 올리는 방식으로 구상했다. 내 제출 N = int(input()) # 사람 수 people = [] for _ in range(N): # 몸무게, 키 리스트 생성 x, y = map(int, input().split()) people.append((x,y)) ..

python 백준 알고리즘 2798번: 블랙잭

https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 파이썬에서 제공하는 순열 조합 라이브러리의 combinations 함수를 이용하여 3개의 카드 조합의 경우를 구했다. ** itertools https://docs.python.org/ko/3/library/itertools.html itertools — 효율적인 루핑을 위한 이터레이터를 만드는 함수 — Python 3.10.7 문서 itertools — 효율적인 ..

python 백준 알고리즘 11729번: 하노이 탑 이동 순서

https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net ** 참고자료 하노이의 탑 알고리즘 https://www.youtube.com/watch?v=FYCGV6F1NuY&t=378s n개의 원판이 있을때, 맨 밑의 원판을 제외한 나머지 n - 1개의 원판들을 시작기둥에서 보조기둥으로 옮긴 뒤(1단계), 맨 밑의 원판을 목표기둥으로 옮긴다(2단계). 그리고 n - 1개의 원판들을 다시 보조기둥에서 목표기둥으로 옮긴다(3단계). 내 제출 n ..

python 백준 알고리즘 2447번: 별 찍기 - 10

N의 패턴 -> ' '으로 채워진 가운데의 (N/3) x (N/3)의 정사각형을 크기 (N/3)의 패턴으로 둘러싼 형태. 결국 재귀를 돌면서 N은 최소단위는 3이 되고, 탈출경로로 N=3일때의 패턴을 만들어 리턴. ** 재귀함수 최대깊이 설정 import sys sys.setrecursionlimit(10**6) 파이썬의 재귀함수 기본 최대횟수가 1000회로 작아 대부분의 코딩테스트 문제에 적용시켜줘야 수월하다 ** '\n'.join '구분자(이 경우 줄넘김)'.join(리스트)를 이용하면 리스트의 값과 값 사이에 '구분자'에 들어온 구분자를 넣어서 하나의 문자열로 합친다. ** input 과 sys.studin.readline 둘은 기능상 큰 차이가 없으나 속도차이가 크다. 백준은 입력값을 받아서 문제..

python 백준 알고리즘 25501번: 재귀의 귀재

문제에서 팰린드롬을 구하는 코드의 힌트를 거의 다 줘서 호출 횟수 부분만 신경써주면 된다. global을 이용, cnt 변수를 전역변수로 만들어 사용. 내 제출 def recursion(s, l, r): global cnt # 함수 내에서 전역 변수로 cnt를 활용하기 위해 global로 명시해준다. cnt += 1 if l >= r: return 1 elif s[l] != s[r]: return 0 else: return recursion(s, l+1, r-1) def isPalindrome(s): return recursion(s, 0, len(s)-1) for _ in range(int(input())): cnt = 0 print(isPalindrome(input().rstrip()), cnt)