연결 리스트 연결 리스트는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조이다. 연결 리스트 구조 연결 리스트는 노드들의 집합이다. 노드는 데이터 필드와 링크 필드로 구성되어 있다. 📊 데이터 필드 데이터 필드에는 저장하고 싶은 데이터가 들어간다. 위 그림에서 하얀색 배경인 부분이 데이터 필드이다. 📎 링크 필드 링크 필드에는 다른 노드를 가리키는 포인터가 저장된다. 위 그림에서는 노란색 배경인 부분이 링크 필드이다. 연결 리스트에서는 연결 리스트의 첫 번째 노드를 알아야 만이 전체 노드에 접근할 수 있다. 따라서 연결 리스트마다 첫 번째 노드를 가리키고 있는 변수가 필요한데 이것을 헤드 포인터라 한다. 그리고 마지막 노드의 링크 필드는 NULL로 설정되는..
https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 시뮬레이션 ⊙ 문제 접근 과정 시뮬레이션 문제는 조건 그대로 구현만 하면 된다. 방문 안 했다면 청소 -> 방문 표시 청소하고 좌표 이동 반복, 만약 아무 곳도 청소 안 했다면 후진 다시 반복, 만약 후진 시 벽이면 종료 자세한 건 코드를 통해 확인하자 ⊙ 문제 풀이 #include using namespace std; #defi..
https://www.acmicpc.net/problem/1475 1475번: 방 번호 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 ⊙ 문제 접근 과정 0~9를 담을 배열을 만들어주고 입력을 string으로 받았다. 왜냐하면 index로 접근하여 아스키코드로 0~9를 판별하기 위해서. 그리고 6과 9는 공통으로 사용 가능하니 카운팅 한 것을 두 개 더하고 나누어 다시 6과 9에 재분배해주고 0~9 카운팅이 가장 높은 값을 출력했다. ⊙ 문제 풀이 #include #include using namespace std; int N; int num[11]; ..
https://www.acmicpc.net/problem/2523 2523번: 별 찍기 - 13 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 ⊙ 문제 접근 과정 별 찍자! ⊙ 문제 풀이 #include using namespace std; int N; int main() { cin >> N; for(int i=0;i
https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 브루트포스 알고리즘 ⊙ 문제 접근 과정 list에 2개의 쌍으로 저장 후, 조건문을 통해 결괏값을 도출해내자. ⊙ 문제 풀이 N = int(input()) #전체 사람 수 people = [] #사람 정보를 받을 list for _ in range(N): #입력한 순서대로 정보를 입력받는다. x, y = map(int,..
https://www.acmicpc.net/problem/14719 14719번: 빗물 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 시뮬레이션 ⊙ 문제 접근 과정 index로 접근해 층별마다 탐색했다.1층부터 H층까지 순서대로 해결하여 층마다 water 값을 갱신해줬다. 자세한 설명은 코드에 주석으로 달아놨다. ⊙ 문제 풀이 #include #include using namespace std; #define MAX 501 int H, W; in..
https://www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 ⊙ 문제 접근 과정 char로 입력받고 입력받은 값을 int로 변환해주면 된다. ⊙ 문제 풀이 #include using namespace std; int main() { char x; cin >> x; int result=x; cout
https://www.acmicpc.net/problem/10817 10817번: 세 수 첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100) www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 ⊙ 문제 접근 과정 배열에 값을 입력받는다. 배열 오름차순 정렬 뒤에서 2번째 값 출력(여기서는 index 0, 1, 2 총 3개이니 index 1 출력) ⊙ 문제 풀이 #include #include using namespace std; int arr[3]; int main() { for(int i=0;i> arr[i]; sort(arr,arr+3); //오름차순 정렬 cout
https://www.acmicpc.net/problem/11021 11021번: A+B - 7 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 구현 사칙연산 ⊙ 문제 접근 과정 케이스 번호를 깔끔하게 출력하기 위해 for문을 사용했다. ⊙ 문제 풀이 #include using namespace std; int T, A, B; int main() { cin >> T; for(int i=1;i> A >> B; cout
https://www.acmicpc.net/problem/10952 10952번: A+B - 5 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 구현 사칙연산 ⊙ 문제 접근 과정 A와 B값이 둘 다 0이 아니라면, A+B 값을 출력하고 둘 다 0일 때까지 반복해주는 코드로 짜봤다. ⊙ 문제 풀이 #include using namespace std; int A,B; int main() { cin >> A >> B; while(A||B) { //둘 다 0이 아니면 조건문 실행 cout A >> B; } } ⊙ 결과 ⊙ 마무리 NONE 좋아요는 로그인하지 않아도 누를 수 있습니다!
- Total
- Today
- Yesterday
- 그리디
- java
- CPP
- Web
- 자바스크립트
- 정리
- 구현
- 쉽게 배우는 자바 프로그래밍
- 알고리즘
- 프로그래머스
- 답
- OS
- JS
- 자바
- py
- 정렬
- 파이썬
- 풀이
- 쉽게배우는
- BFS
- Python
- 백준
- 정답
- 우종정
- C++
- 운영체제
- 쉽게배우는자바프로그래밍
- 해답
- 연습문제
- 문자열
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |