🍋 ⚾️ 💻 🎬 🎮

분류 전체보기 113

[백준] 2675. 문자열 반복 (파이썬)

🗂️   문제 2675. 문자열 반복 📌   Point문자열(String) 문자열 순회문자열은 문자의 배열(sequence of characters)이며, 리스트나 튜플처럼 이터러블(iterable) 객체다.S = "ABC"for s in S: print(s)# ResultABC for s in S는 S의 각 문자를 순차적으로 꺼내어 s에 할당한다.따라서, A, B, C를 순서대로 출력한다.     📄   코드def main(): for _ in range(int(input())): R, S = input().split() print(''.join(s * int(R) for s in S))if __name__ == "__main__": main()    ✍..

coding_test 2025.03.07

[프로그래머스] 가사 검색 (파이썬)

🗂️ 문제 2020 KAKAO BLIND RECRUITMENT_가사 검색 📌 Point트라이(Trie) 자료구조 단어의 길이별로 Trie 자료구조를 만들어서 효율적으로 쿼리를 처리할 수 있도록 한다. 정방향 Trie와 역방향 Trie를 동시에 초기화하고 단어를 삽입한다. 정방향 Trie : 접미사에 "?"가 있을 때 사용 역방향 Trie : 접두사에 "?"가 있을 때 사용 📁 데이터 구조 예시 📎 입력 단어words = ["apple", "app", "bat"] 📎 길이별 Trie 초기화# 정방향 Trie (tries)tries = { 3: Trie(), # 3글자 단어용 Trie 5: Trie() # 5글자 단어용 Trie}# 역방향 ..

coding_test 2025.03.05

[백준] 11719. 그대로 출력하기 (파이썬)

🗂️   문제 11719. 그대로 출력하기📌   Pointsys.stdin.readlines()표준 입력을 한 번에 모두 읽어와서 각 줄을 리스트의 요소로 반환 📄   코드import sysdef main(): ss = sys.stdin.readlines() for s in ss: print(s, end='')if __name__ == "__main__": main()✍🏻   풀이시간 복잡도 : O(N)    입력sys.stdin.readlines() 함수를 사용하여 표준 입력의 모든 줄을 한꺼번에 리스트 형태로 읽는다.각 줄은 리스트의 한 요소로 저장된다.문제 예시 입력Hello World Baekjoon Online Judge리스트['Hello World\n', ..

coding_test 2025.03.04

[백준] 11657. 타임머신 (파이썬)

🗂️   문제 11657. 타임머신  📌   PointBellman-Ford Algorithm벨만-포드 알고리즘은 단일 출발점 최단 경로(SSSP, Single Source Shortest Path)를 구하는 알고리즘다익스트라와 달리 음의 가중치를 포함한 그래프에서도 사용 가능. 기본 코드def bellman_ford(V, edges, start): # 거리 배열 초기화 (무한대) INF = float('inf') dist = [INF] * V dist[start] = 0 # 시작 정점 거리 = 0 # (V-1)번 모든 간선 확인 for _ in range(V - 1): for u, v, w in edges: if dist[u] !=..

coding_test 2025.02.27

[프로그래머스] 문자열 내 p와 y의 개수 (파이썬)

🗂️   문제 문자열 내 p와 y의 개수  📌   Point문자열(String) 자료형문자열의 count 연산으로 문자열 내 문자의 개수를 구한다.# 문자열 count 연산string = "hello worLd"l_count = string.count("l") '''문자열.count("개수를 구하고자 하는 문자")'''print(l_count)# result2count 연산을 할 때 소문자와 대문자를 구분하여 개수가 구해진다.따라서, 위에서 소문자 "l"을 count 하였으므로 hello에 들어간 l의 개수만 구해진다. 📄   코드def solution(s): p_cnt, y_cnt = s.count('p') + s.count('P'), s.count('y') + s.count('Y') ..

coding_test 2025.02.26

[문제 모음] 99클럽 코테 스터디 (+ 후기)

문제 모음 레포지토리 📁 https://github.com/ahyun39/99club_5_codingtest_study GitHub - ahyun39/99club_5_codingtest_study: [항해99] 99클럽 코딩테스트 스터디 5기 문제 모음[항해99] 99클럽 코딩테스트 스터디 5기 문제 모음. Contribute to ahyun39/99club_5_codingtest_study development by creating an account on GitHub.github.com [항해99] 99클럽 코딩 테스트 스터디 5기 🔥 스터디 참여 계기한창 동기들과 알고리즘 스터디를 진행할 때 기업 코테 문제를 거의 다 풀 정도로 실력이 쌓였었다. 6개월 동안 여러 알고리즘을 보다보니 문..

99클럽 코테 스터디 _ 25일차 TIL (동적 계획법, 메모이제이션)

[백준] 1351. 무한 수열 / 골드5Dynamic Programming시간복잡도 : O(logN) def f(): N, P, Q = map(int, input().split()) dp = {0:1} # 딕셔너리 기반 메모이제이션 # dp[0] = 1 def memo(n): if n in dp: # 이미 계산된 값이면 그대로 반환 return dp[n] dp[n] = memo(n // P) + memo(n // Q) return dp[n] print(memo(N))f()   풀이 방식dp 초기화dp = {0: 1} : dp [0]은 문제의 기본 조건으로 1로 초기화한다.재귀 함수 memo(n) 정의메모이제이션 활용dp[..

99클럽 코테 스터디 _ 24일차 TIL (동적 계획법)

[백준] 2225. 합분해 / 골드5Dynamic Programming시간복잡도 : O(NK) def f(): N, K = map(int, input().split()) dp = [[0] * (N + 1) for _ in range(K + 1)] dp[0][0] = 1 # DP 계산 for k in range(1, K + 1): dp[k][0] = 1 for n in range(1, N + 1): dp[k][n] = (dp[k][n-1] + dp[k-1][n]) % 1000000000 print(dp[K][N])f()  풀이 방식dp 배열을 (K+1) X (N+1) 크기로 초기화한다.dp[k][n]  :  k 개의 수를 사용하여..

[LeetCode] 1193. Monthly Transactions I (AGGREGATE)

🗂️  문제[SQL50] 1193. Monthly Transactions I (AGGREGATE)✍🏻  풀이 문제 해석주어진 Transactions 테이블에서 월별, 국가별로 각 query_name에 대해 다음을 계산하는 문제trans_count전체 거래 수approved_count승인된 거래 수state = 'approved'인 거래 수만 counttrans_total_amount전체 거래 금액 합approved_total_amountstate = 'approved'인 거래 금액 합  코드WITH all_trans AS ( -- 모든 거래에 대한 집계 SELECT country, SUM(1) AS all_trans_cnt, SUM(amount) ..

728x90
반응형