일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바
- 토마토
- 백준 백트랙킹 파이썬
- BFS
- 프로그래밍
- 2022년 정보처리기사 실기 1회 가답안
- 정보처리기사 실기
- 코딩
- 백준 그래프 이론 파이썬
- 코드
- 2022년 정보처리기사 실기
- 백준
- 정보처리기사
- 백준 토마토 파이썬
- python
- 파이썬
- 자료구조
- 2022년 정보처리기사 실기 가답안
- 프로그래머스
- 그리디
- 코딩테스트
- 백준 N-Queens
- 알고리즘
- BOJ
- 프로그래머스 파이썬
- 백준 그래프 탐색 파이썬
- dfs
- 정보처리기사 실기 시험
- 백준 백트랙킹
- it
- Today
- Total
목록백준 (17)
코딩,안되면 될때까지
solved.ac 난이도 : GOLD5 백준 9663번- 파이썬 풀이 https://www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net -백트랙킹 이번 문제는 대표적인 백트랙킹 문제인 N-Queen이다. 필자는 처음 이문제를 풀때 2차원 배열을 이용해야하나 했지만 그렇게 하게되면 너무 복잡해진다. 그래서 일차원배열을 이용해 문제를 풀었다. 그 과정은 다음과 같다. 1)체스판에 체스 놓기 일차원 배열의 한 위치에 값을 rows[i] = a 와 같이 값을 저장시킨다. 이것은 체스판..
백준 알고리즘을 본격적으로 풀기 시작한지도 벌써 2개월이란 시간이 흘렀다. 사실 전공이 데이터사이언스라 대학생시절에도 알게모르게 백준을 접했다. 다시 말해 백준 문제를 풀기 시작한건 훨씬 오래전이지만 다시 본격적으로 푼건 올해 2월말 부터였다. 오랜만에 다시 풀다보니 처음엔 감을 잡기 어려웠지만 그래도 예전에 했던 경험을 기반으로 꾸준히 하다보니 어느새 GOLD5레벨에 도달했다. 그래서 이 글에서는 공부방법과 문제를 풀때의 마음가짐에 대해서 작성하려고 한다. https://solved.ac/profile/hae_sooo solved.ac 알고리즘 문제해결 학습의 이정표 🚩 Baekjoon Online Judge 난이도 및 티어 정보 제공 solved.ac -어려운 문제를 만났을때- 코딩 문제를 풀때 문제..
https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net -BFS알고리즘사용!! 그래프에서 집이 있는곳의 방문여부를 저장할 visited 배열을 선언한다.(초기값은 전부 미방문,즉 False로 선언) 집이 있는곳에서 출발해 인접한 네 방향의 위치를 확인한다. 이때 그래프의 값이 1인곳이면서(즉 집이 있는곳)동시에 아직 방문하지 않은경우 해당위치를 queue에 삽입한다. 그리고 단지의 크기를 저장할 total(초기값=1)변수에 1을 더해준다. (※ 해당위치..
https://www.acmicpc.net/problem/18352 18352번: 특정 거리의 도시 찾기 첫째 줄에 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시의 번호 X가 주어진다. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) 둘째 줄부터 M개의 줄에 걸쳐서 두 개 www.acmicpc.net 시작위치를 queue에 삽입한다. distance배열(시작위치에서 각 노드까지의 거리를 저장하는 배열)을 선언한다. distance배열에서 시작위치에 해당하는 인덱스의 값을 0으로 설정한다. queue에서 원소를 추출한다음 각 인접노드를 queue에 삽입한다. distance배열에서 각 노드에 해당하는 인덱스의 값을 갱신한다..
https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net -BFS알고리즘 사용 출발위치를 queue에 넣는다. queue에 넣은 원소를 추출한다음 해당원소의 인접노드중 이동가능한 노드를 queue에 넣는다. 이동가능한 노드를 queue에 삽입하고 이동거리를 +1해준다. 위의 2,3번째 과정을 queue가 빌때까지 계속 반복해준다. from collections import deque n,m = map(int,input().split()) dx = [-1,1,0,0] dy = [0,0,..
https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net https://hae-sooo97.tistory.com/25 탐색(DFS/BFS) 1)DFS :Depth-First Search, 깊이우선탐색,그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘 탐색 시작노드를 스택에 삽입하고 방문처리를 한다. 스택의 최상단 노드에 방문하지 않은 인접노드가 hae-sooo97.tistory.com ※주의점 : dfs함수를 호출..
https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 힙큐( heapq)를 사용하면 쉽게 풀수 있는 문제다. 비교횟수를 최소로 하기 위해선 가장 작은 크기의 카드 묶음부터 비교해 나가야 한다.힙큐를 사용하면 우선순위 큐 기능을 구현할 수 있기 때문에 손쉽게 작은 묶음부터 비교해 나갈수 있다.(※참고 : https://hae-sooo97.tistory.com/22?category=925334) -파이썬- #입력받은 카드 묶음을 순서대로 ..
https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net -파이썬- from itertools import product n = int(input()) number = list(map(int,input().split())) add,sub,mul,div = map(int,input().split()) #최솟값과 최댓값 초기화 min_value = 1e9 max_value = -1e9 #깊이 우선 탐색..