알고리즘 유형 : 자료구조 풀이 참고 : 문제 링크 : https://www.acmicpc.net/problem/1269 코드(Javascript) const [n, input1, input2] = require("fs").readFileSync("../input.txt").toString().trim().split("\n"); //제출 할때 /dev/stdin으로 수정 const aArr = input1.split(" "); const bArr = input2.split(" "); const arr = [] const aaa = arr.concat(aArr, bArr) const vvv = new Set(aaa) const num = aaa.length - vvv.size console.log((aAr..
분류 전체보기
'별코딩'님의 유튜브를 보다가 정말 중요하고 명확한 강의를 보아서 정리해 두려고 한다. https://www.youtube.com/watch?v=QC3PtSlzp3s 기본 코드 아래 코드는 아주 단순한 input에 텍스트를 입력 후 추가 버튼을 누르면 li가 추가되는 간단한 코드이다. 몇 가지 내가 몰랐던 부분들을 정리하려고 한다. import './App.css'; import { useState } from 'react'; function App() { const [inputValue, setInputValue] = useState(''); const [list, setList] = useState(()=>['밥먹기', '코딩하기']); const addList = () => { setList((pr..
PintOS의 꽃? Virtual Memory 이번엔 Virtual Memory를 직접 만들어 메모리 할당을 Layz 하게 해야 했다. 알아야 할 개념이 한두개가 아니었다. 보조 페이지(SPT), 물리 메모리, 디스크, swap in/out, 프레임 등등... 그래도 과제는 끝까지 해내긴 하였으나, 정확히 이해 하였다고는 말하지 못할 듯하다. 힘들었던 점들과 어떻게 극복 하려 했는지에 대해 정리하겠다. 1. 많은 이론에 대한 공부 부담 - 난 공부 속도가 빠른편이 아니다. 그래서 많은 양은 부담이 더 크게 되었다. - 파트를 총 5파트로 나눴다. 그리고 그 안에서도 주제별로 나눴다. 그리고 하나씩 보면서 밟아갔다. - 특히 CSAPP를 꾸준히 읽었던 것이 아주 도움이 되었다. 2. 수학적 계산들에 대한 ..
알고리즘 유형 : 정렬, 이분탐색 풀이 참고 : 블로그 문제 링크 : https://www.acmicpc.net/problem/7795 풀이 요약 처음 완전탐색으로 풀었으나 시간초과 이분탐색이나 투포인터로 풀어야 한다고 한다. 이분탐색풀이를 보던 중 재밌는 라이브러리를 찾아 정리 [bisect] 첫 번째 인자로는 탐색할 리스트(arr), 두 번째 인자로는 비교값(x)을 넣는다. 반드시 정렬된 리스트에 사용되어야 하고 arr에 x를 삽입할 곳을 이분탐색으로 찾아 그 인덱스를 반환한다. 코드(python) import bisect t = int(input()) for _ in range(t): a, b = map(int, input().split()) arr = [] for i in range(2): sor..
알고리즘 유형 : 정렬 풀이 참고 : 없음 문제 링크 : https://www.acmicpc.net/problem/15970 풀이 요약 정렬 후 예외사항만 잘 체크하면 되는 문제이다. 내가 푼 기본 아이디어는 점의 색깔을 인덱스로 하는 리스트안에 점들을 모아두었다. 코드(python) n = int(input()) arr = [[] for _ in range(n)] # 색깔을 인덱스로 갖는 2중 리스트 생성 for i in range(n): position, color = map(int, input().split()) arr[color-1].append(position) # 같은 색의 리스트 솔팅 for i in arr: i.sort() result = 0 for j in range(len(arr)): ..
알고리즘 유형 : 정렬, 자료구조 풀이 참고 : 동기 문제 링크 : https://www.acmicpc.net/problem/11652 풀이 요약 - 가장 많이 카드를 체크하기 위해 카드번호를 키로 갖는 딕셔너리로 구현 - 처음에는 리스트의 인덱스를 이용하여 풀어보았으나 값이 커서 메모리 초과... 코드(python) n = int(input()) arr = {} for i in range(n): a = int(input()) if a in arr: arr[a] += 1 else: arr[a] = 1 sort_arr = sorted(arr.items()) sort_arr.sort(key=lambda x:-x[1]) print(sort_arr[0][0]) 배운 점, 배울 점 딕셔너리 공부를 더 해야겠다. ..