전체 글 95

11.20 알고리즘 문제풀이

코테 연습 다이나믹 프로그래밍 첫 번째 https://www.acmicpc.net/problem/15486 15486번: 퇴사 2 첫째 줄에 N (1 ≤ N ≤ 1,500,000)이 주어진다. 둘째 줄부터 N개의 줄에 Ti와 Pi가 공백으로 구분되어서 주어지며, 1일부터 N일까지 순서대로 주어진다. (1 ≤ Ti ≤ 50, 1 ≤ Pi ≤ 1,000) www.acmicpc.net import sys input = lambda: sys.stdin.readline().rstrip() N = int(input()) schedule = [[0]] + [list(map(int, input().split())) for _ in range(N)] dp = [0] * (N+1) max_value = 0 for idx ..

알고리즘 2023.11.20

11.18 알고리즘 문제풀이

코테 연습 다이나믹 프로그래밍 첫 번째 https://www.acmicpc.net/problem/22869 22869번: 징검다리 건너기 (small) $N$개의 돌이 일렬로 나열 되어 있다. $N$개의 돌에는 왼쪽부터 차례대로 수 $A_{1} A_{2} ... A_{i} ... A_{N}$로 부여되어 있다. 가장 왼쪽에 있는 돌에서 출발하여 가장 오른쪽에 있는 돌로 건너가려고 www.acmicpc.net import sys input = lambda: sys.stdin.readline().rstrip() N, K = map(int, input().split()) A = list(map(int, input().split())) dp = [False] * N dp[0] = True for idx in ra..

알고리즘 2023.11.18

다이나믹 프로그래밍 정리

다이나믹 프로그래밍 문제풀이 첫 문제 https://velog.io/@0_hun/프로그래머스-코딩-테스트-공부-2022-KAKAO-TECH-INTERNSHIP-Level-3-Python 프로그래머스 - 코딩 테스트 공부 (2022 KAKAO TECH INTERNSHIP) / Level 3 / Python 코딩테스트 연습 - 코딩 테스트 공부쉽지 않은 문제였다. 풀이에 실패하여 카카오 해설을 보고 다시 문제를 풀어보았다.BFS로 풀어도 정확도 테스트는 통과 할 수 있으나 효율성 테스트를 통과하 velog.io https://school.programmers.co.kr/learn/courses/30/lessons/118668 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개..

알고리즘 2023.11.16

11.16 알고리즘 문제풀이

https://tech.kakao.com/2022/07/13/2022-coding-test-summer-internship/ 2022 테크 여름인턴십 코딩테스트 해설 2022년 카카오 여름 인턴십 코딩 테스트가 지난 5월 7일에 5시간에 걸쳐 진행되었습니다. 시간이 부족하여 문제를 풀지 못하는 아쉬움이 없도록 1시간을 늘려 테스트를 진행한 것이 작년과 조금 tech.kakao.com https://school.programmers.co.kr/learn/challenges?order=recent&page=1&partIds=31236 코딩테스트 연습 | 프로그래머스 스쿨 개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력..

알고리즘 2023.11.16

11.15 알고리즘 문제풀이

알고리즘 문제풀이 다이나믹 프로그래밍 스티커 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net import sys input = lambda: sys.stdin.readline().rstrip() T = int(input()) arr = [] for _ in range(T): n = int(input()) dp = [list(map(int, input().split())) for _ in range(2)] if n = N: result.extend(B[b_idx:]) break if b_idx >= ..

알고리즘 2023.11.15

[소마] mysql에 저장할 때, 아이콘, 이모지가 저장 안 되는 문제 해결

mysql에 저장할 때, 아이콘, 이모지가 저장 안 되는 문제 해결  ✅, 🔥 이런 이모지를 글에 저장할 때, UTF-8으로 설정했다면 위와 같은 에러 메세지를 받을 수 있다. 해결방법은 간단하다.AWS RDS의 parameter group(파라미터 그룹)을 변경하면 된다.파라미터 그룹의 편집에 들어가서 character_set으로 검색해서 나온 항목들을 모두utf8 -> utf8mb4 로 수정한다. 그리고 변경 사항 저장을 하기 전에아래처럼 collation으로 검색해서 나온 결과collation_connection, collation_server를 utf8_general_ci -> utf8mb4_unicode_ci 으로 수정한다. RDS 설정을 자동으로 업데이트 하게 해둿다면RDS 데이터베이스에 수..

프로젝트 2023.11.14

오늘의 알고리즘, 소프티어 회의실 예약, 순서대로 방문하기

오늘의 알고리즘 연습 회의실 예약 문제 문제에 대한 설명 https://softeer.ai/practice/6266 Softeer - 현대자동차그룹 SW인재확보플랫폼 회사에는 N개의 회의실이 있다. 수많은 팀이 모여 토론하고 업무를 처리하기 위해서는 회의실이 필수적이다. 내부망에 아주 간단한 회의실 예약 시스템이 있지만 편의성이 매우 떨어진다. 단순 softeer.ai 풀이 N, M = map(int, input().split()) rooms = [input().rstrip() for _ in range(N)] roomToCheckAvailable = {} times = [] for start in range(9, 18+1): for end in range(18, start, -1): times.appe..

알고리즘 2023.11.04

오늘의 알고리즘, 소프티어 수퍼바이러스, 강의실 배정

오늘의 알고리즘 소프티어와 함께하는 알고리즘 문제 풀이 수퍼바이러스 문제 수퍼바이러스가 증식한다. 수퍼바이러스는 0.1초당 P배로 증가한다. 수퍼바이러스는 죽지 않는다. 처음에 K마리가 있는 상태에서 N초 후에 수퍼바이러스는 몇 개일까? 입력 K P N 출력 최종 바이러스의 개수를 1000000007로 나눈 나머지 제약조건 1 ≤ K ≤ 10^8 인 정수 1 ≤ P ≤ 10^8 인 정수 1 ≤ N ≤ 10^16 인 정수 파이썬 2초 256MB 풀이 단순히 아래처럼 풀이하면 안된다. 제곱은 O(N)이기 때문에 제약조건에 따라 제한 시간을 초과한다. print(K * P ** (N*10) % 1000000007)divide and conquer, 재귀함수를 구현하여 해결한다. 핵심 아이디어는 제곱을 곱셈으로..

알고리즘 2023.11.03

[운영체제] 개요

운영체제 개요운영체제란? computer system을 운영하는 software다. Information?I(x) = -log_2(P(x)), (단, P는 사건(x)가 일어날 확률밀도함수) 정보의 단위모집단이 on, off이고 사건 발생의 기대값이 동일할 때, 위 I(x)의 값이 1이 된다.이처럼 0과 1의 상태를 가지는 정보를 1 bit라고 한다.  컴퓨터의 정보 처리 컴퓨터는 정보의 상태를 변환(0 -> 1, 1 -> 0)으로 정보를 처리한다.부울 대수(NOT, AND, OR)로 논리 게이트를 구현한다.NAND만으로 정보를 처리할 수 있음이 증명되었다.덧셈: 반가산기 전가산기뺄셈: 2의 보수곱셈과 나눗셈: 덧셈과 뺄셈의 반복실수: 부동소수점함수: GOTO컴퓨터는 부울 대수와 NAND를 이용해서 계산가..

컴퓨터과학 2023.10.25