목록분류 전체보기 (35)
성장기록지
이 문제는 간단한 백트래킹으로 해결할 수 있는 문제인데.1시간 반 동안 뚫어져라 쳐다보다 자력으로 해결 못하고 해설을 조금 참고하여서 풀고말았다. 왜 어려웠는지 미래의 나를 위해 작성하겠다. 전체 코드 visited=[]ans=[]n=int(input())sign_list=list(map(str, input().split()))def check(left, right, sign): if sign == ' right def back(count,temp): if count==n+1: a="" for i in temp: a=a+str(i) ans.append(a) # ans.append(temp.copy()) r..
힙을 사용한 다익스트라 알고리즘 장점: 삽입과 삭제에 O(logN)밖에 안걸려용 알고리즘의 시간복잡도는 O(ElogV)(간선의 개수 E, 노드의 개수 V) 코드 구현 시 방문을 체크하는 리스트가 필요없어용 힙에서 알아서 정렬해줘서 최단거리를 고르기 위한 함수가 필요없어용 처음 틀린 코드. """ N번까지의 도시 M개의 단방향 도로가 존재 도시 x로 출발하여 도달 할 수 있는 도시 중에서, 최단거리가 K인 모든 도시 번호 출력 x->x 의 거리는 0 도시 개수 N 2
https://youtu.be/7C9RgOcvkvo?si=XSCKpzmzEpYP8TI9&t=2113 이 BFS 강의를 듣지않고 글을 읽으면 이해가 안갑니다. 초기 세팅 1. 가로,세로,방문여부 리스트 2. 상과 왕의 x,y좌표 지정 3. 이동 횟수 초기값 지정 (count=1) 4.bfs에서 각각 3번 움직일 dx dy 생성 (bfs의 4~8번 설명에서 왜 이렇게 했나 알 수 있음) 5.상의 x,y좌표로 start 리스트 생성 6.bfs에 dx,dy와 start, visited(방문 여부 리스트),count를 넣어주고 bfs실행 #세로,가로 n=10 m=9 #방문여부 visited=[[False]*m for _ in range(n)] #상,왕의 x,y sangx,sangy=map(int,input().s..
핵심 내용인 힙과 우선순위 큐를 먼저 작성하고그 다음 간단한 개념들을 작성 및 나열해두었습니다.우선순위 큐란?우선순위가 가장 높은 데이터를 가장 먼저 삭제하는 자료구조 우선순위 큐 구현방법은?힙의 값(key)를 우선순위로 사용하게 되면,힙은 우선순위 큐의 구현체가 된다. 그러면 힙(HEAP)은 우선순위 큐 인가요? -> 아니다!!! 우선순위 큐는 ADT이다.ADT는 Abstract Data Type(추상 데이터 타입) 의 약자로,동작의 개념적인 것들만 설명을 해둔것이다. 그러나 힙은 Data Structure(자료구조)이다.즉 구현까지 가능한 것이다.그래서 정확히 말하자면 힙은 우선순위 큐의 구현체 라고 할 수 있다. 아니 그러면 그냥 대충 우선순위 큐랑 힙이랑 같다고 해도 되지 않나요?-> 안된다..
김영한의 자바강의 중 기본형과 참조형 챕터에서 궁금한 것을 찾아 정리하였다. 변수의 데이터 타입은 크게 2가지가 있다. 기본형 - int long double 같이 변수에 사용할 값을 직접 넣을 수 있는 데이터 타입 참조형 - Student student 같이 데이터에 접근하기 위한 참조(주소) 를 저장하는 데이터 타입 참조형은 주소를 저장하므로, 연산이 불가능하다. *String은 클래스라 참조형이지만, 기본형처럼 활용 가능하다. 왜 그럴까? String에 대해서 조금 더 자세히 알아보자. - String은 new 연산자 없이도 인스턴스를 만들어 낼 수 있다. 물론 new가 있어도 된다. ex) String str1 = "hello" ; String str2 = new String("hello"); n..