https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr ⊙ 문제 ⊙ 제한사항 ⊙ 입출력 예 ⊙ 문제 접근 과정 총 4번의 도전. - 첫 번째 풀이 - 조합 (시간 초과) from itertools import permutations def solution(numbers): comNumbers = list(permutations(numbers, len(n..
https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr ⊙ 문제 ⊙ 제한사항 ⊙ 입출력 예 ⊙ 입출력 예 설명 ⊙ 문제 접근 과정 크레인이 이동할 때마다 케이스를 만들어주면 좋겠다고 생각했어요. 그리고 크레인 이동마다 2가지를 체크해줬습니다. 1. 인형을 만나면 basket에 넣기 2. basket에 같은 인형이 있는지 확인 -> 있으면 제거 첫 번째 for문으로 moves에 저장된 크레인 이동을 해주었어요. 그리고 인형을 만날 때까지 들어갑..
https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr ⊙ 문제 ⊙ 제한사항 ⊙ 입출력 예 ⊙ 입출력 예 설명 ⊙ 문제 접근 과정 총 3단계로 나누어 풀었어요. 1️⃣ 수포자가 찍는 방식 정의 2️⃣ 수포자가 맞춘 정답 개수 3️⃣ 가장 많이 맞춘 수포자 첫 번째 세명의 수포자가 일정하게 찍는 패턴에 대해 배열로 정의했어요. 배열은 하나의 student 배열 안에 넣었습니다. #수포자가 찍는 방식 student = ..
https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr ⊙ 문제 ⊙ 제한사항 ⊙ 입출력 예 ⊙ 입출력 예 설명 ⊙ 문제 접근 과정 문제를 본 후, 현재 손 위치를 기억해야한다고 생각이 들었습니다. [1, 4, 7]는 무조건 왼손, [3, 6, 9]는 무조건 오른손, [2, 5, 8, 0]은 더 가까운 손이 ..
그래프 그래프는 객체 사이의 연결 관계를 표현할 수 있는 자료구조다. 📈 정의 그래프는 정점과 간선들의 유한 집합으로 G = (V, E)로 표시할 수 있다. 여기서 정점은 노드라고도 불리고, 간선은 링크라고도 불린다. 여러 그래프가 존재하지만 오늘은 인접 행렬 C++ 구현에 대해 집중적으로 다뤄보려고 한다. 구현 (C++) getVertex(int i) getEdge(int i, int j) setEdge(int i, int j, int val) insertVertex(char name) void insertEdge(int u, int v) void display() isEmpty() isFull() 클래스 생성 class AdjMatGraph { private: int size; // 정점의 개수 ch..
트리 트리는 한 개 이상의 노드로 이루어진, 나무를 거꾸로 엎어놓은 듯한 모양의 비선형 자료구조다. 🎄 트리의 종류 트리의 종류는 여러 가지가 있을 수 있다. 그중에서 가장 일반적인 트리로 일반 트리와 이진트리가 있다. 🎆 일반 트리 일반 트리는 위 사진과 같이 생겼다. 일반 트리에서 노드는 0개부터 최대 N개의 노드를 가질 수 있다. (N은 제한이 없다) 🎆 이진트리 이진트리는 위 사진과 같이 생겼다. 이진트리에서 이진은 0과 1을 나타내고, 부모 노드가 자식 노드를 최대 2개까지만 가질 수 있다. 구현 (C++) insert() search() print() 클래스 생성 class BSTNode { public: int Key; BSTNode *Left; BSTNode *Right; BSTNode *..
해시 해싱 (hashing) 해시 함수 (hash function) 해시 테이블 (hash table) 구현 (C++) 🧐 해싱 (hashing) 해싱은 유사한 개체 그룹에서 특정 개체를 고유하게 식별하는 데 사용되는 기술로, 키(key)에 산술적인 연산을 적용하여 항목이 저장되어 있는 테이블의 주소를 계산하여 항복에 접근한다. 위 그림은 키(key)를 이용하여 해시 함수를 통해 항목에 접근하는 과정을 나타낸 것이다. 위와 같은 탐색 과정을 해싱(hashing)이라고 한다. 🧐 해시 함수 (hash function) 해시 함수는 임의의 데이터를 고정된 길이로 매핑하는 함수를 말한다. 데이터에 해싱 작업이 적용되면 원래 데이터를 다시 가져올 수 없으므로 단방향 프로세스라고도 한다. 또한 모든 해시 출력은 ..
https://www.acmicpc.net/problem/2743 2743번: 단어 길이 재기 알파벳으로만 이루어진 단어를 입력받아, 그 길이를 출력하는 프로그램을 작성하시오. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 문자열 ⊙ 문제 접근 과정 문자열을 input() 함수로 받고, 길이를 얻을 수 있는 함수인 len() 함수를 사용해 출력해주면 된다. ⊙ 문제 풀이 inputString = input() print(len(inputString)) ⊙ 결과 ⊙ 마무리 NONE 좋아요는 로그인하지 않아도 누를 수 있습니다!
큐 큐는 뒤에서 새로운 데이터가 추가되고 앞에서 데이터가 하나씩 삭제되는 구조로 선입선출 특성을 가진다. 구조상으로 큐가 스택과 다른 점이 있다. 스택의 경우, 삽입과 삭제가 같은 쪽에서만 일어난다. 그렇지만 큐에서는 삽입과 삭제가 다른 쪽에서 일어난다. ✅ 큐에서 삽입이 일어나는 곳을 후단(rear)이라 하고 삭제가 일어나는 곳을 전단(front)이라고 한다. 📌 큐 연산 enQueue(int value) : 큐 후단(rear)에 값을 추가 deQueue() : 큐 전단(front)의 값을 제거 isFull() : 큐가 가득 찼는지 확인 isEmpty() : 큐가 비어있는지 확인 displayQueue() : 큐에 있는 요소들 출력 클래스 생성 #define MAX_SIZE 5 class Queue {..
스택 스택은 컴퓨터에서 믿을 수 없을 정도로 많이 사용되는 자료구조이다. 후입선출(LIFO : Last In First Out) 형태로 나중에 들어온 것이 가장 먼저 나가는 형태를 띈다. 직역 그대로 데이터를 순서대로 쌓는 자료구조라고 생각하면 된다. 스택에서의 입출력은 맨 위에서만 일어나고 스택의 중간에서는 데이터를 삭제할 수 없다. 📌 스택 상단 : 스택에서 입출력이 이루어지는 부분 스택 하단 : 반대쪽인 바닥 부분 요소 : 스택에 저장되는 것 공백 스택 : 스택에 요소가 하나도 없을 때 스택의 연산 push() : 스택 맨 위에 item을 추가 pop() : 스택의 맨 위에 원소를 제거해서 반환 peek() : 스택의 맨 위의 요소를 제거하지 않고 반환 isFull() : 스택이 꽉 찼는지 확인 i..
- Total
- Today
- Yesterday
- 풀이
- 쉽게 배우는 자바 프로그래밍
- 연습문제
- 자바스크립트
- 자바
- 문자열
- BFS
- 그리디
- java
- py
- 프로그래머스
- C++
- 구현
- 파이썬
- Python
- CPP
- 정답
- Web
- 쉽게배우는자바프로그래밍
- OS
- JS
- 정리
- 답
- 우종정
- 백준
- 쉽게배우는
- 정렬
- 해답
- 운영체제
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |