n 팩토리얼의 값에 5와 2가 몇 개가 들어가있는지 질의하는 문제이다. 그럼 n 팩토리얼에 5, 2가 몇 개 들어가있을 까를 알아야한다. 2를 기준으로, 24! 는 2는 모든 짝수에 들어가있다. 12개 그리고, 4, 8, 12, 16, 20, 24 에 추가적으로 2가 들어가있다. (4 = 22, 8= 222, 12 = 223, 16=224, 20 = 225, 24 = 226) 이 때, 8, 16, 24는 추가적으로 들어가있다. 문제전략은 계속 base를 나눠가면서 몇 개의 2가 남아있는지 세는 것이다. 24 / 2 = 12 (21, .... 212) 12 / 2 = 6 ( 221, .... 226) 6 / 2 = 3 ( 2221, ... 2223) 3 / 2 = 1 ( 2222*1 ) ^^.. def g..
import sys input = sys.stdin.readline n = input() list = list(map(int, input().split())) sorted = [i for i in list] sorted.sort() d = {} idx = 0 for i in range(int(n)): t = d.get(sorted[i], -1) if t == -1: t = idx idx += 1 d[sorted[i]] = t for i in list: print(d[i],end=' ')
class Solution: def lengthOfLongestSubstring(self, s: str) -> int: if len(s) == 0: return 0 f = 0 t = 1 d = {} d[s[f]] = f ans = 1 while t < len(s): idx = d.get(s[t], -1) if idx == -1: temp = t - f + 1 ans = max(temp, ans) else: while f
# Definition for singly-linked list. # class ListNode: # def \_\_init\_\_(self, val=0, next=None): # self.val = val # self.next = next class Solution: def addTwoNumbers(self, l1: Optional\[ListNode\], l2: Optional\[ListNode\]) -> Optional\[ListNode\]: result = ListNode() head = result append = 0 while l1 or l2 : val = append if l1 is not None: val += l1.val if l2 is not None: val += l2.val resul..
참으로 허탈한 문제. 아무리 생각해도 충분한 시간복잡도에 통과할 수 있는데, 시간초과가 났다. 그래서 개선된 속도로 풀어도 시간초과가 났는데.. 알고보니 입출력 시간 문제였다. 세 번으로 나누어서 풀었다. 처음이 가장 복잡도가 안좋은 방법. 그러더라도 문제를 풀기엔 충분한 스펙이였다. 문제는 입력 시간이였다. import sys input = sys.stdin.readline _n = int(input()) l = [ int(input()) for _ in range(_n) ] print( round(sum(l)/len(l)) ) sorted = [ f for f in l ] sorted.sort() print( sorted[_n//2] ) f = { } d = 0 for i in l: s = f.get..
백준 2037 문자메세지 해설 ABC, DEF, GHI, JKL, MNO, PQRS, TUV, WXYZ 가 각각 같은 번호를 눌러 입력해야하므로 이전에 동일한 번호를 눌렀다면 추가로 대기시간 W시간을 요구한다. 공백에 대해선 대기시간 W 이 필요하지 않다. BC, EF, HI .. 등에 대해선 여러번 눌러야하므로 P*required[알파벳]을 이용해 구할 수 있게 하였음. 입력 받는 것이 조금 까다로울 수 있다. ````C++ #include #include #include using namespace std; int a[26] = { 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9 }; int required[26..
Codeforces 1092C Prefixes and Suffixes문제 보러 가기https://codeforces.com/contest/1092/problem/C 문제 설명문자열 길이 정수 n 을 입력받는다. 그리고 2*n-2 개의 문자열을 입력받는다. 이때 문자열들은 다음을 만족한다.1 입력받는 문자열은 길이가 (1 ~ n-1)인 문자열이 각각 두개씩 있다.2 각각 문자열들은 n 길이의 문자열 S의 접두어거나 접미어이다. 이때 각각의 문자열이 S(접미어), P(접두어)인지 2*n -2 길이로 문자열 정보를 출력하라. 예제입력5baaababaabababaababa 출력SPPSPSPS 입력3aaaaaa출력PPSS 입력2ac출력PS 문제에 대해 이야기해본다. 내가 느끼기엔, 이 문제는 Div 3 Conte..
http://codeforces.com/problemset/problem/908/B 음... S사 입사 테스트 급 문제였다 ㅋㅋ굉장히 쉬운 문제였는데 숫자와 방향 맵핑에서 24가지의 경우의 수가 생성될 수 있는데 난 그것을 파악하지 못하고 4가지의 경우의 수밖에 생각하지 못했다. (항상 동서남북 순서대로 맵핑될 거라고 생가을 했기때문에 ...)testcase에 14개의 경우의 수가 나왔을 때 뭐였는지 몰랐다.하지만 생각보다 쉬운문제였다. ㅡ.ㅡ;;;하아 영어의 어려움이란 소스보기https://github.com/ingyeoking13/algorithm/blob/master/cf/implementation/908B.c
- Total
- Today
- Yesterday
- Grafana
- paul wilton
- 이산 수학
- Discrete Mathematics
- 최단경로 알고리즘
- Propositional and Predicate Logic
- Arena
- flutter
- 대규모 시스템 설계 기초
- arena simulation
- 그라파나
- 백준
- 엄청난 인내심과 시뮬레이션을 위한 아레나 툴
- 시뮬레이션
- 로젠
- 자바스크립트
- 이산수학
- javascript
- 자바스크립트 예제
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- 명제논리
- grafana cloud
- rosen
- 데이터 중심 애플리케이션 설계
- 항해99
- Simulation
- beginning javascript
- 아레나
- 아레나시뮬레이션
- 아레나 시뮬레이션
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |