We will find a way, we always have.

-interstellar

전체 글 303

[백준] 1918번: 후위표기식 - 파이썬

😀 서론 사실 저번주에 후위표기식 관련 문제를 풀었었다. 요기! 개념은 이해했으니 날로먹을 생각으로 골드 3에 도전했다가 보기좋게 실패했다ㅎ.ㅎ 위의 문제하고 이번 문제의 차이점은 순서이다. 후위 표기식2번 문제는 후위표기식을 중위표기식으로 바꾸어 값을 계산하는 거였다면, 이번 문제는 중위표기식을 후위표기식으로 바꾸기만 하면 되는 것이었다! 중위표기식을 후위표기식으로 변경 후위표기식을 중위표기식으로 바꾸고 값을 출력 이렇게 봤을 때 후자가 더 어려울 것 같지만,, 중위표기식을 후위표기식으로 바꾸려면 괄호치는 작업을 해야한다. 이게 난관이었다... [백준] 1935번: 후위 표기식2 - 파이썬 📕 문제 풀이 후위 표기식으로 문자가 주어졌을 때 연산을 하여 값을 출력한다. 후위표기식이란? 후위표기식은 컴퓨터..

[백준] 1629번: 곱셈 - 파이썬

📕 풀이 A와 B와 C가 공백을 두고 입력된다. 우리는 (A^B)%C 값을 출력하면 된다. 단 A,B,C 는 모두 2,147,483,647 이하의 자연수이다. 수의 범위가 방대하다. 때문에 21억번 곱한다면 O(N)이여도 시간초과가 날 것이다. 그래서 나머지 분배법칙과 지수법칙을 사용하여 답을 구하였다. 📖 지수법칙 (A^m)^n = (A^(m * n)) 📖 나머지 분배 법칙 (AxB) % C = (A%C) * (B%C) % C 우선 지수 법칙을 사용하여 분할 정복을 한다. 2 ^ 32 의 값을 계산하는 방법은 2를 32번 곱하는 방법도 있지만 지수법칙을 사용하여 (2^16)^2 16번 곱한 것을 제곱하는 방식으로 하면 총 17번의 연산으로 줄일 수 있다. 이 방법을 계속 사용하면 10번, 연산 7번만에..

[백준] 14425번: 문자열 집합 - 파이썬

📕 풀이 제목처럼 집합을 사용해서 풀면 되는 문제이다. 처음에는 차집합을 이용하여 풀이 하였으나 오답으로 처리되었고, 바로 떠오른 다른 방법은 하나하나 체크해주는 방법이었다. 💻 코드 import sys input = sys.stdin.readline n,m = map(int,input().rstrip().split()) cnt = 0 s = set() check = set() for i in range(n): s.add(input().rstrip()) # 기준이 되는 집합 for j in range(m): word = input().rstrip() if word in s: # 기준 집합에 새로 새로 입력된 문자가 있다면 카운트 cnt += 1 print(cnt) 📎 문제 링크 : 문자열 집합 14425..

[백준] 7795번: 먹을 것인가 먹힐 것인가 - 파이썬

📕 풀이 정렬 후 투포인터를 사용하여 a의 값 하나를 b의 값 전부 하나하나 비교해가면서 a의 값이 클때의 갯수를 카운트 해준다. 💻 코드 import sys input = sys.stdin.readline for i in range(int(input().rstrip())): # a와 b의 갯수를 입력받음 a, b = map(int, input().rstrip().split()) # a와 b 정보를 입력받음(생명체 A, B) a_num = list(map(int, input().rstrip().split())) b_num = list(map(int, input().rstrip().split())) # 내림차순 정렬 a_num.sort(reverse=True) b_num.sort(reverse=True) ..

[백준] 1935번: 후위 표기식2 - 파이썬

📕 문제 풀이 후위 표기식으로 문자가 주어졌을 때 연산을 하여 값을 출력한다. 후위표기식이란? 후위표기식은 컴퓨터가 연산할 때 사용하는 방법이다. 우리가 연산할 때 사용하는 (3*4+6)/2 이런 식들은 중위표기식이다. 후위표기식과 중위표기식의 차이는 바로 연산자의 위치이다. 연산자란 + , -, *, / 와 같은 것들이고 피연산자는 숫자나 문자로 이루어져있다. 후위표기식을 중위표기식으로 바꾸는 과정에는 스택 자료구조를 사용한다. 반대로도 마찬가지! 중위표기식 5*(3*4+6)/2을 후위표기식으로 바꿔보자!! 중위표기식을 후위표기식으로 변환과정 1. 중위표기식 연산 하나하나마다 괄호를 씌어준다. 5*(3*4+6)/2 => ((5*((3*4)+6))/2) 2. 왼쪽괄호가 들어오면 무시 3. 피연산자가 들어..

[백준] 9536번: 여우는 어떻게 울지? - 파이썬

🎶 서론 어렸을 때 유행했던 노래 왓더뽞쎄에서 영감을 얻은 문제같다ㅋㅋㅋ 오랜만에 다시 노래 들어보니 여전히 재밌고 힙한 노래다. 약간 다른의미로 천재랄까 🧩문제 해석 주어진 문자열중에서 몇개의 단어들을 제거하면 되는 단순 파싱문제였다. 📖 풀이 1. 녹음된 소리를 문자열로 받는다. 2. 다른 동물들의 울음소리를 ano_ani 라는 set에 저장한다. 3. 녹음된 소리중 ano_ani에 있으면 여우의 소리가 아니고 다른 동물의 소리란 것을 의미하니 그것을 제외하고 출력한다. 💻 코드 import sys input = sys.stdin.readline ano_ani = set() t = int(input().rstrip()) for i in range(t): record = list(map(str, inp..

[영화] 닥터스트레인지 - 대혼돈의 멀티버스 관람후기 (스포 있음)

친구랑 둘이 닥스2 개봉일날 바로 심야로 달렸다! 23시 영화였는데 코로나 이후 처음으로 보는 심야영화였다 그리고 with 팝콘!! 완다 진짜 간지철철이다. 드림워킹할 때 완다는 그냥 가만히 있어도 내뿜는 카리스마가 장난아니었다. 아메리칸 차베즈라는 새로운 등장인물도 나왔는데 앞으로가 기대되는 캐릭터였다 (이름은 맘에 안들지만ㅎ) 좀비닥스랑 찐닥스랑 싸울 때 음악이 나왔는데 중간중간에 꽤 유명한 클래식 곡들의 모티브가 조금씩 울려 펴졌다. 멀티버스 이동씬도 CG 입히느라 엄청 많은 시간이 들었을 것 같다. 드론이 잠깐 보이는 구간도 있었는데 아마 과학이 발달한 멀티버스였을까?ㅎㅋ 아아 그리고 그 일루마니티 그룹(?)이라고 해야하나 그분들은 완다한테 픽픽 죽어대니까 뭔가 왜 등장시켰지라는 의문을 남겼다. ..

Blah blah 2022.05.06

[백준] 1193번: 분수찾기 - 파이썬

🔗 문제링크 : 분수찾기 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 📕 문제 풀이 문제 풀이 하기전에 조금 주저리 주저리 하자면,,, 요즘 조금 바빠서 글 올리는 빈도수가 조금 줄었다. 그래도 하루에 하나씩은 올리려고 노력하고 있움!!! 파스칼의 삼각형(?) 과 비슷한 방향으로 움직이는데 한번은 오른쪽으로, 한번은 왼쪽으로 이런식으로 반복한다. 그리고 분수의 숫자들은 분자 + 분모 값이 하나씩 증가한다. 이 점을 이용하여 코드를 짰다. 💻 코드 div = [i for i in range(1, 4473)] n = int(input()) cnt = 1 for d in div: if n - d

[백준] 17478번: 재귀함수가 뭔가요? - 파이썬

재귀함수 문제! 조금만 고민해보면 풀 수 있는 문제였다. 문제링크: 재귀함수가 뭔가요? 17478번: 재귀함수가 뭔가요? 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대 www.acmicpc.net def question(n, m): print("____"*m+'"재귀함수가 뭔가요?"') if n == 0: print("____"*m+'"재귀함수는 자기 자신을 호출하는 함수라네"') return answer(m) print("____"*m+'"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.') print("____"*m+'마을 사람들은 ..

[알고리즘] 재귀 함수

재귀 함수(Recursive Function)란 자기 자신을 다시 호출하는 함수를 의미한다. 아래와 같은 함수가 재귀 함수이다. def recursive_function(): print("재귀 함수를 호출합니다.") recursive_function() recursive_function() 그러나 이 코드를 실행시킨다면 "재귀 함수를 호출합니다." 라는 문장을 출력하다가 어느 순간 에러를 내며 멈출 것이다. RecursionError: maximum recursion depth exceeded while calling a Python object 이 오류 메세지는 재귀의 최대 깊이를 초과했다는 내용이다. 보통 파이썬 인터프리터는 호출 횟수 제한이 있는데 그 한계를 벗어났기에 다음과 같은 메세지를 출력한 ..