일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- useEffect
- JavaScript
- 파이썬 enumerate
- 리액트
- 자바스크립트
- 리액트 훅
- 파이썬 slice
- 한글 공부 사이트
- 리액트 공식문서
- typeScript
- useState
- React Hooks
- 내일배움캠프
- 내일배움캠프 프로젝트
- 파이썬 for in
- 파이썬 반복문
- 타입스크립트 props
- 파이썬 딕셔너리
- 타입스크립트 리액트
- 리액트 프로젝트
- 내배캠 프로젝트
- 코딩테스트
- 파이썬 for
- tanstack query
- Next 팀 프로젝트
- 프로그래머스
- 내일배움캠프 최종 프로젝트
- REACT
- 파이썬 replace
- 타입스크립트
- Today
- Total
목록전체 글 (300)
sohyeon kim
📝 문제첫 번째 줄에 올바르지 않은 괄호열 S가 주어집니다. S의 길이는 1 이상 50 이하입니다.첫 번째 줄에 S를 올바른 괄호열으로 만들기 위해 앞과 뒤에 붙여야 할 괄호의 최소 개수를 출력합니다. 불가능한 경우는 주어지지 않습니다. 🫠 나의 풀이import syssys.stdin = open('input.txt', 'r')# input = sys.stdin.readlineS = input().strip()stack = []cnt = 0for i in S: if i == '(': stack.append('(') else: if stack: stack.pop() else: cnt += 1print(len(stac..
💡 추상 자료형 Abstract Data Type먼저 기능과 구현의 차이에 대해 알아보자.기능 : 연산이 '무엇'을 하는지에 관한 내용구현 : 기능을 ' 어떻게' 하는지에 관한 내용삽입 연산 insert operation 의 기능과 구현은 뭘까?삽입 연산 기능 : 순서 데이터에서 원하는 위치에 데이터를 저장삽입 연산 구현동적 배열 삽입 : 데이터를 메모리에 순서대로, 연속적으로 저장하기에 중간에 삽입할 경우 데이터를 한 칸씩 미뤄서 저장링크드 리스트 삽입 : 더블리 링크드 리스트는 각 노드가 앞, 뒤 노드에 대한 레퍼런스를 저장해 순서를 유지하기에 앞 뒤 레퍼런스를 수정해 저장그럼 추상화란?추상화 : 구현을 몰라도 기능만 알면 사용할 수 있게 해주는 것, 추상화를 하면 이미 쓴 코드를 재활용하고 협력하..
💡 key - value 데이터 : 순서가 아닌 key 나 value 를 이용해 정보를 검색한다.key - value 쌍 : key 와 그 key 에 해당하는 value 를 합쳐 부른다.하나의 key 에는 하나의 value 만 있어야 한다. Direct Access Table : key 를 배열의 인덱스처럼 활용해 데이터를 구성한 것key(이 땐 인덱스와 같다.)를 이용한 value 접근 시간 복잡도 : O(1)하지만 공간을 너무 낭비할 수 있다.(key 가 1, 3, 5, 7, 9 일 때 필요한 공간은 5이지만 1~9 까지의 공간을 차지해버림) 해시 함수 : 특정 값을 원하는 범위의 자연수로 바꿔주는 함수101, 204, 302, 711, 943 ➡️ (0 ~100 사이 자연수로 바꿔주는 함수) ➡️..
💡 링크드 리스트 Linked List : 연결 리스트데이터가 저장된 노드들을 연결해 만든 자료 구조데이터를 순서대로 연결, 실제 메모리엔 흩어져 있다.요소 추가 가능구현 방식이 동적 배열보다 더 복잡, 상황에 따라 사용1, 2, 3 데이터를 apple, banana, cherry 이 세 노드에 담을 때 순서를 어떻게 정하는지 구조를 살펴보면,1 - 2 - 3 ➡️ apple: 1/banana - banana: 2/cherry - cherry: 3(다음 이름이 없으므로 마지막 노드)이런 식으로 다음 노드의 이름을 표시해 순서대로 연결하는 것을 볼 수 있다. 💡 노드 : 하나의 객체로, data 와 next(다음 노드의 레퍼런스) 로 구성// n_1 데이터를 n_2 데이터와 연결n_1.next = n_..
📝 문제생태학에서 나무의 분포도를 측정하는 것은 중요하다. 그러므로 당신은 미국 전역의 나무들이 주어졌을 때, 각 종이 전체에서 몇 %를 차지하는지 구하는 프로그램을 만들어야 한다.프로그램은 여러 줄로 이루어져 있으며, 한 줄에 하나의 나무 종 이름이 주어진다. 어떤 종 이름도 30글자를 넘지 않으며, 입력에는 최대 10,000개의 종이 주어지고 최대 1,000,000그루의 나무가 주어진다.주어진 각 종의 이름을 사전순으로 출력하고, 그 종이 차지하는 비율을 백분율로 소수점 4째자리까지 반올림해 함께 출력한다. 🫠 나의 풀이# 시간 초과while True: try: tree = input() total += 1 if tree in dic: ..
💡 자료 구조 : 데이터의 효율적인 접근과 조작을 가능하게 해주는 저장(관리) 방식쉽게 말해, 데이터를 효율적으로 저장, 활용하는 관리 방식➡️ 자료들을 어떻게 구조화할지 고민해서 데이터를 효율적으로 사용하는 것이 목적 먼저 컴퓨터가 데이터를 어떻게 저장하는지 알아보자.데이터가 저장되는 곳은 크게 두 가지다.스토리지 Storage : 데이터가 영구적으로 저장되는 곳컴퓨터에 저장해 둔 사진, 노래, 영화 , 워드 문서 등사용자가 직접 지우거나 컴퓨터에 심각한 외부 충격이 있지 않은 한 지워지지 않는다.데이터를 저장하는 데, 받아오는 데 오래 걸린다.창고와 비슷, 많은 물건을 보관할 수 있지만 왔다 갔다 하는 데 시간이 오래 걸림➡️ 정확히 언제 사용할지 모르는(나중에 사용할) 파일을 저장메모리 Memor..
📝 문제월드초등학교 학생회장 후보는 일정 기간 동안 전체 학생의 추천에 의하여 정해진 수만큼 선정된다. 그래서 학교 홈페이지에 추천받은 학생의 사진을 게시할 수 있는 사진틀을 후보의 수만큼 만들었다. 추천받은 학생의 사진을 사진틀에 게시하고 추천받은 횟수를 표시하는 규칙은 다음과 같다.학생들이 추천을 시작하기 전에 모든 사진틀은 비어있다.어떤 학생이 특정 학생을 추천하면, 추천받은 학생의 사진이 반드시 사진틀에 게시되어야 한다.비어있는 사진틀이 없는 경우에는 현재까지 추천 받은 횟수가 가장 적은 학생의 사진을 삭제하고, 그 자리에 새롭게 추천받은 학생의 사진을 게시한다. 이때, 현재까지 추천 받은 횟수가 가장 적은 학생이 두 명 이상일 경우에는 그러한 학생들 중 게시된 지 가장 오래된 사진을 삭제한다...
📝 문제[1, 2, 5, 6, 7, 9, 11] 안에 합이 15가 되는 두 요소의 조합이 있는지 확인하고 싶습니다. 두 요소 6과 9의 합이 15가 되죠? 이 조합이 있는지 없는지를 알고 싶은 거죠.함수 sum_in_list()는 정수 search_sum과 정렬된 정수 리스트 sorted_list를 받아서 sorted_list안의 두 요소의 합이 search_sum이 되는 조합이 있는지 없는지를 불린으로 리턴합니다.sum_in_list(15, [1, 2, 5, 6, 7, 9, 11])은 불린 True를 리턴합니다. 🫠 나의 풀이, 브루트 포스 O(n2)def sum_in_list(search_sum, sorted_list): for i in range(len(sorted_list)): ..