Series

·Algorithms
알고리즘 문제를 풀다가 막힌 부분이 있어 정리하려고 한다!1. 정수를 리스트에 담기118372라는 정수를 배열에 한자리씩 담으려고 한다.이때 list()와 map()를 사용한다.중요한 것은 str() 문자열로 변경한 뒤에 map으로 감싸줘야한다!이유는 map함수가 반복 가능한(iterable) 객체를 두 번째 인자에 필요로 하는데, n은 정수이기 때문에 str문자열로 변경해줘야한다. list(map(int, str(n))n = 118372n_list = list(map(int, str(n)) # [1, 1, 8, 3, 7, 2] 2.  정수가 담긴 리스트를 하나의 정수로 표현하기정수가 담긴 리스트 [1, 1, 8, 3, 7, 2]를 118372로 표현하는 방법처음에는 하나씩 빼서 str()로 바꿔서 합치..
·Spring
@ModelAttribute는 언제 사용할까 ? 게시판 항목에 체크박스 기능을 추가한다고 생각해보자.crud 컨트롤러마다 체크박스의 데이터를 생성하고, model에 넣어야한다. 항목을 추가할 때마다, 데이터를 만들고 model에 넣는 코드를 작성하는 번거러움이 있다.  ex) 상세보기에서 regions 데이터를 model.addAttribute() 하는 코드@GetMapping("/{itemId}")public String item(@PathVariable long itemId, Model model) { Item item = itemRepository.findById(itemId); model.addAttribute("item", item); // 추가 Map regions = new Linke..
·Java
오랜만에 intellij에서 spring 프로젝트를 실행하니 마주친 오류이다.상황 1. 빌드 및 실행에 오류가 생겼다. 2. 실행/디버그 구성 선택을 보면 main application에 x표시가 있다.3. 구성편집 누르면, 올바른 spring Boot 애플리케이션 클래스가 아닙니다. 라는 오류가 뜬다. 파일구조 hello/thymeleaf/ThymeleafBasicApplication 잘 위치해 있는데도, 오류가 난다.이전에 다른 프로젝트를 jdk 21버전으로 변경하면서 다른 프로젝트도 꼬인듯 하다. 해결1. 빌드 및 실행에 있는 main application이 실제 파일구조와 맞게 되어있는지 확인한다.잘 되어있어서 이 문제는 아닌듯 하다. 2. gradle 버전 확인한다.설정 > Gradle 에서 g..
·Algorithms
위상정렬 (Topopogical sort)위상 정렬은 비순환 방향 그래프에서 정점을 선형으로 정렬하는 것이다.방향 그래프에서 간선 가 있다면, 정점 u는 정점 v를 선행하여 정렬한다.방향 그래프 정점들의 선행 순서를 위배하지 않으면서 모든 정점을 나열해야한다.활용 예로는 선수 과목은 과목들의 선행 관계를 표현한다.🌟 구현정점에 들어오는 간선수를 저장하는 진입차수(in_degree)를 사용한다.동작방식모든 정점의 in_degree 설정순서에 맞도록 리스트 설정 예) graph[2] = [1,3] : 정점 2는 정점 1과 정점 3보다 선행함.in_degree가 0인 정점은 큐에 추가큐가 빌 때까지 반복3.1 큐의 앞 요소를 popleft()로 가져와 그에 맞는 리스트를 꺼냄3.2 리스트에서 나온 정점의 i..
·Algorithms
유튜브로 "이것이 코딩이다" DFS&BFS 문제를 풀어보다 "미로 탈출" 문제에서 오류가 발생했다.👾 문제 📍 풀이입력3 31100100115 6101010111111000001111111111111인접한 노드에 자신의 노드 값을 +1 함 ⚒️ 코드from collections import dequen, m = map(int, input().split())graph = [] * n # 잘못된 부분 ㅠfor _ in range(n): graph.append(list(map(int, input().split())))result = 0dx = [1, -1, 0, 0]dy = [0, 0, 1, -1]def bfs(x, y): myqueue = deque() myqueue.append((x, ..
·Algorithms
다익스트라 알고리즘에 대해 [이전글]에서 어떻게 풀어야하는지 정리해뒀다.요약하자면![이전글] 에서는 인접 노드의 distance > 현재 노드의 distance + 인접 노드까지의 distance 를 비교해야 했다.이를 위해서 우선순위 큐(PriorityQueue)와, 노드 방문 여부, disatnce를 고려해야 한다.하지만 이번 문제에선 heapq를 사용한다.파이썬 내장 heapq도 [이전글]에서 정리했다.👾 K번째 최단 경로 찾기 - 백준 1854번https://www.acmicpc.net/problem/1854예제 입력15 10 21 2 21 3 71 4 51 5 62 4 22 3 43 4 63 5 85 2 45 4 1예제 출력1-1107514 📍 풀이이전과는 다르게 k번째 거리를 구해야한다. ..
galong
'분류 전체보기' 카테고리의 글 목록