일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Extendable hashing
- 트랜잭션
- 프로세스 주소 공간
- 백엔드
- 반효경
- SQL
- vite
- recoverability
- Git
- 운영체제
- 커널 동기화
- CPU 스케줄링
- 네트워크
- 데이터베이스
- concurrency control
- 갤럭시 S24
- 개발남노씨
- 시스템프로그래밍
- 코딩테스트 [ ALL IN ONE ]
- BreadcrumbsComputer-Networking_A-Top-Down-Approach
- 시그널 핸들러
- 온디바이스AI
- 쉬운코드
- 코딩애플
- B tree 데이터삽입
- 운영체제와 정보기술의 원리
- 인터럽트
- 김영한
- 쉬운 코드
- SDK
- Today
- Total
목록백준 문제/문자열,누적합,구현 (22)
티끌모아 태산

https://www.acmicpc.net/problem/4375 4375번: 1 2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 각 자릿수가 모두 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오. www.acmicpc.net 핵심 아이디어 처음에 각 자릿수가 모두 1로만 이루어진 n의 배수가 무엇인지 이해하기 -> 1, 11, 111, 1111, ... n의 배수가 아니라면 10을 곱하고 1을 더 해주어 1로만 이루어진 다음 수로 갱신해준다. 1-> 11->111->1111 try except를 이용해 예외처리를 해주어 프로그램이 종료되도록 하기 풀이 import sys input = sys.stdin.readline while True: try: n = in..

https://www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net 핵심 아이디어 이 문제는 단순하게 풀면 바로 시간초과가 발생합니다. 따라서 분할정복원리를 활용해서 풀어야합니다. 예를 들어, 2^32라면 2를 32번 곱하는 방법도 있지만, (2^16)^2로 해서 풀면 2를 16번 곱한 것을 다시 2번 곱하니 17번의 연산만으로 끝낼 수 있어 시간이 훨씬 적게 듭니다. 이를 계속 해보면 {(2^8)^2}^2 이렇게 풀면 10번만에, [{(2^4)^2}^2]^2 이렇게 풀면 7번만에 끝낼 수 있어 시간이 획기적으로 주는 것입니다...

https://www.acmicpc.net/problem/9375 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net 핵심 아이디어 dictionary Counter class 활용(파이썬) 같은 종류의 의상은 하나씩만 착용할 수 있으며, 알몸이 아니어야 하므로 꼭 1종류 이상의 의상은 착용해야 한다. 예를 들어, 3종류의 의상이 있으면 1종류만 착용해도 되며, 2종류를 착용해도 되고, 3종류를 착용해도 되지만 0종류를 ..

https://www.acmicpc.net/problem/2559 2559번: 수열 첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하기 www.acmicpc.net 핵심 아이디어 구간 합 구하기 풀이 import sys input = sys.stdin.readline result =[] n, k = map(int,input().split()) a = list(map(int, input().split())) for i in range(n - k + 1): result.append(sum(a[i:i+k])) print(max(result)) sum ..

https://www.acmicpc.net/problem/3986 3986번: 좋은 단어 이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에 www.acmicpc.net 핵심 아이디어 이문제를 해결하기 위해 떠올려야하는 것은 바로 stack 자료구조입니다. 이런 문제를 풀때 뭔가 아이디어가 떠오르지 않는다면 ABABABAB처럼 하나를 더 붙여본다든지, 90도 회전 시켜본다든지 등 도식화를 해보는 것이 중요합니다. 도식화 해보기(똑같은걸 2배로 늘려본다든지, 90도 회전시켜본다든지 등) Stack 자료구조 -> 같은 것끼리 맡물리면 터져 점수를 얻는 게임을 생각해보면 좋을거 ..

https://www.acmicpc.net/problem/1940 1940번: 주몽 첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,000)이 주어진다. 그리고 두 번째 줄에는 갑옷을 만드는데 필요한 수 M(1 ≤ M ≤ 10,000,000) 주어진다. 그리고 마지막으로 셋째 줄에는 N개의 재료들이 가진 고 www.acmicpc.net 풀이 import sys input = sys.stdin.readline from itertools import combinations N = int(input()) M = int(input()) num = list(map(int, input().split())) result = 0 for i in combinations(num, 2): if sum(i) == M: res..

https://www.acmicpc.net/problem/11655 11655번: ROT13 첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다. www.acmicpc.net 코드 구현 # ord()와 chr()을 통해 쉽게 해결가능 # print(ord('a')) 97 # print(ord('z')) 122 # print(ord('A')) 65 # print(ord('Z')) 90 # print(ord('m')) 109 # print(ord('M')) 77 ans = '' # 바뀐 문자열을 담을 변수 for i in input(): # 만약 대문자라면 if i.isupper(): if (65
https://www.acmicpc.net/problem/1213

https://www.acmicpc.net/problem/10988 10988번: 팰린드롬인지 확인하기 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 풀이 from collections import deque s = input() q = deque() while s != '': is_palindrome = True compare_length = len(s) // 2 for i in range(compare_length, len(s)): q.append(s[i]) k = 0 while k < compare_length and is_palindrome: ch = q.pop() if ch.lower() ..
https://www.acmicpc.net/problem/2979 2979번: 트럭 주차 첫째 줄에 문제에서 설명한 주차 요금 A, B, C가 주어진다. (1 ≤ C ≤ B ≤ A ≤ 100) 다음 세 개 줄에는 두 정수가 주어진다. 이 정수는 상근이가 가지고 있는 트럭이 주차장에 도착한 시간과 주차장 www.acmicpc.net 핵심 아이디어 카운팅 배열 시간 관련 개념 -> [시작시간, 끝난시간) or [출발시간, 도착시간) 이렇게 마지막을 포함하지 않는 것! 코드 구현 a, b, c = map(int, input().split()) counting_arr = [0] * 101 # 입력으로 주어지는 시간은 1과 100사이 for _ in range(3): s, e = map(int, input().s..