힙 자료구조에 대해서 알아보자. 힙 자료구조는 우선순위 큐 (Priority Queue)를 구현하기 위하여 사용하는 자료구조 중 하나다. 'DFS/BFS'를 공부할 때 스택과 큐의 원리에 대해서 알아봤는데 스택은 가장 나중에 삽입된 데이터를 가장 먼저 삭제하고, 큐는 가장 먼저 삽입된 데이터를 가장 먼저 삭제한다. 우선순위 큐는 우선순위가 가장 높은 데이터를 가장 먼저 삭제한다는 점이 특징이다. 자료구조 추출되는 데이터 스택(Stack) 가장 나중에 삽입된 데이터 큐(Queue) 가장 먼저 삽입된 데이터 우선순위 큐(Priority Queue) 가장 우선순위가 높은 데이터 우선순위 큐는 데이터를 우선순위에 따라 처리하고 싶을 때 사용한다. 예를 들어 여러 개의 물건 데이터를 자료구조에 넣었다가 가치가 높..
문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. 제한 사항 scovil..
HTML tag의 종류 - 태그는 그 의미에 맞게 사용해야 한다. 링크 네이버 이미지 제목, 목록 과일의 목록 사과 포도 과일의 목록 사과 포도 ui = Unordered List : 순서가 없는 리스트 ol = Ordered List : 순서가 있는 리스트 iframe - 페이지 안에 페이즈를 삽입하는 방법. CSS를 통해서 제어하는 것이 권장. frame - 하나의 화면에서 여러 개의 페이지를 분할해서 보여줌. form - 사용자의 데이터를 서버에 전송하는 방법이다. - 로그인을 위해서 아이디/비밀번호를 입력할 때 - 회원가입을 하기 위해서 개인정보를 입력할 때 - 블로그나 게시판에 글을 작성하거나, 파일을 전송할 때 GET과 POST의 차이점 GET - URL에 정보가 담겨서 전송된다. - 전송할 ..
1. 프레임 워크 비율 2. 각 프레임워크 특징 파악 앵귤러 (Angular) 리액트(React) 뷰(Vue) 앵귤러 - 앵귤러는 프로젝트 생성에서부터 코드 최적화 작업에 이르기까지 모든 작업에서 사용할 수 있는 폭넓은 프레임워크임. 전체적인 개발 과정에 있어서는 가장 다루기 힘든 프레임워크. 하지만 앵귤러는 선택할 수 있는 많은 기능들이 존재함. 구글의 전 세계적인 지원. 체계젹이고 잘 정리되어 있는 문서. 가장 복잡하고 큰 러닝 커브(내부 동장 메커니즘 포함) 리액트 - 앵귤러나 뷰에서와 같은 도구들이 없지만 대신에 유연성을 제공함. 개발자가 원하는 어떠한 라이브러리도 리액트에 맞춰 넣을 수 있음. Create-react-app 이나 Next.js와 같은 명령 줄 인터페이스(CLI) 도구들도 생겨나고..
문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 입력 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 출력 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는?를 출력한다. 풀이 n = input().upper() listn = list(set(n)) answer = [] for i in listn: count = n.count(i) answer.append(count) if answer.count(max(answer)) >1: print('?') ..
문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치,... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. 풀이 n = input() arr = [-1 for _ in range(26)] for i in range(len(..