재귀란, 실행 과정에서 자기 자신을 호출하는 함수다. recursion'자기 자신을 호출한다'는 말이 자기 자신으로 '반복해서 돌아간다'는 의미를 내포하는 것 같다면, 맞다. 모든 재귀 함수는 반복문(while문 또는 for문)으로 표현할 수 있다. 그렇다면 반복문과
출처프로그램은 데이터를 입력 받아 조작하고 반환하는 것이다. 따라서 프로그래밍은 기본적으로 데이터를 다루는 일이다. 데이터는 모든 유형의 정보이다. 소리, 이미지, 영상, 숫자 등 우리 실생활을 구성하는 모든 정보가 데이터이다. 자료구조란 데이터를 조직하는 방법이다.
스택은 데이터를 순서대로 쌓는 자료구조이다. 데이터를 저장하는 방법은 배열과 비슷한데, 세 가지 제약이 있다.데이터는 스택의 끝에만 삽입할 수 있다.데이터는 스택의 끝에서만 읽을 수 있다.데이터는 스택의 끝에서만 삭제할 수 있다.원통에 든 과자 프링글스를 상상하면 모양
큐는 데이터를 순서대로 처리는 자료구조이다. 임시 데이터를 다루고 제약이 있는 배열이라는 점에서 스택과 비슷한데, 데이터 처리의 순서가 다르다. 큐에는 세 가지 제약이 있다.데이터는 스택의 끝에만 삽입할 수 있다.데이터는 스택의 앞에서만 읽을 수 있다.데이터는 스택의
💁♀️ 트리 (Tree) 트리는 나무의 형태를 가진단방향 노드 기반 자료구조이다. 메모리 주소와 인덱스를 알면 데이터를 찾을 수 있는 배열 자료구조와 달리, 노드 기반 자료구조는 서로 인접하지 않은 메모리 셀 묶음으로 이뤄진다. 서로 인접하지 않은 각 데이터를 노드
그래프는 여러 점들이 서로 복잡하게 연결되어 있는 관계를 표현한 자료구조이다. 컴퓨터공학에서✨ 그래프 구현
업로드중..🦾 시간 복잡도 계산법
👉 문제 Day Of Mourning의 기타리스트 강토가 사용하는 기타에서 N개의 줄이 끊어졌다. 따라서 새로운 줄을 사거나 교체해야 한다. 강토는 되도록이면 돈을 적게 쓰려고 한다. 6줄 패키지를 살 수도 있고, 1개 또는 그 이상의 줄을 낱개로 살 수도 있다.
요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이
Given a string containing digits from 2-9 inclusive, return all possible letter combinations that the number could represent. Return the answer in any
규칙에 맞게 작성된 스도쿠 문제라면 빈 칸이 얼만큼 있든지 전부 풀어주는 프로그램이다.먼저 스도쿠 프로그램을 풀 때 일반적으로 어떻게 접근하는지 생각해볼 필요가 있다. 난이도에 따라 다르겠지만 보통은 스도쿠의 세 가지 규칙에 따라 검증한다.같은 행의 숫자는 서로 중복하
Given a string containing digits from 2-9 inclusive, return all possible letter combinations that the number could represent. Return the answer in any
Given the head of a linked list, remove the nth node from the end of the list and return its head.입출력 예시:리스트노드 문제풀이에 (거의) 필수인 더미 노드를 우선 생성한다.리스트노드이기 때
Given a linked list, swap every two adjacent nodes and return its head. You must solve the problem without modifying the values in the list's nodes (i
문제 설명새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로
문제 설명정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다.n행 n열 크기의 비어있는 2차원 배열을 만듭니다.i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다.1행 1열부터 i행 i열까지의 영역 내의 모
문제 설명명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를
문제 설명명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를
16진수 수를 입력받아서 10진수로 출력하는 프로그램을 작성하시오.입력:첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 또, 이 수는 음이 아닌 정수이다.출력:첫째 줄에
김재홍 조교한테 들키지 말지 :(
한화라서 행복..한가요?
재밌겠다.
예산 늘려주세요🙂
콜라츠 추측(Collatz conjecture)은 1937년에 처음으로 이 추측을 제기한 로타르 콜라츠의 이름을 딴 것으로 3n+1 추측, 울람 추측, 혹은 헤일스톤(우박) 수열 등 여러 이름으로 불린다.
회전된 배열의 target값 인덱스를 찾자.
2차원 배열에서 target 넘버를 찾자.
다이나믹하게 풀어보자고
해시로 효율성 잡기
해시인데 해시 아닌.
약수가 2, 3, 5로만 이뤄지는 n번째 Ugly Number 구하기
다이나믹 프로그래밍으로 최대 부분합 구하기