전체 글 180

[플로이드워샬] 백준 2458 Gold4 키순서

📌 링크 : https://www.acmicpc.net/problem/2458 2458번: 키 순서 1번부터 N번까지 번호가 붙여져 있는 학생들에 대하여 두 학생끼리 키를 비교한 결과의 일부가 주어져 있다. 단, N명의 학생들의 키는 모두 다르다고 가정한다. 예를 들어, 6명의 학생들에 대하여 www.acmicpc.net ❗️ Issue 1️⃣ "플로이드 워샬을 써야함+본인 빼고 다른 친구들과 연결되어야 순서를 알 수 있음" 은 알겠는데 어떻게 구하지? 💡 Solution 1️⃣ 본인 빼고 다른 친구들과 연결되어야 순서를 알 수 있음 => graph[i][j] + graph[j][i] 를 모든 친구 j 에 대해서 수행한 후 더해서 n-1이 나오면 순서를 알 수 있음 , 이러려면 초기화를 0으로 해야함 (..

카테고리 없음 2023.12.13

[이진탐색] 프로그래머스 Lv4 가사 검색

❗️ Issue 첫 풀이인데 아래 처럼 하면 정확성은 맞아도 효율성에서 시간초과가 난다. 아래 풀이를 간략하게 설명하면 새로운 배열을 만들어서 비교할때 바로 꺼내 쓸 수 있도록 했다. 시간 초과가 난 이유는 for문을 이중으로 돌렸기 때문에 났다. def solution(words, queries): new_q = [] for q in queries: direct = None if(q[0]=='?'): direct = "l" else: direct = "r" word = "" for x in q: if(x!="?"): word+=x new_q.append([word,direct,len(q)]) answer = [] for word,direct,len_q in new_q: count = 0 for w in..

코딩테스트 2023.12.07

[정렬] 백준 1715 Gold4 카드 정렬하기

📌 링크 : https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net ❗️ Issue 1️⃣ DP로 풀었는데 왜 안되지? 반례) 4 2 2 3 3 → 20이 나와야함 2️⃣ DP가 아니라 heapq를 써야하는 것은 알겠다 근데 왜 틀리지? 💡 Solution 1️⃣ 일단 내가 잘못생각한게 있다 (((2,2)3)3) 이렇게 무조건 순서대로 더하는게 답인줄 착각했는데 그러면 안되는 이유는 (2,2) (3,3) 이렇게 하는 것이 최소 값이기 때..

카테고리 없음 2023.11.30

[BFS] 프로그래머스 Lv3 블록 이동하기

📌 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/60063 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❗️ Issue 1. 두개의 블록을 어떻게 visited처리할 것인가 2. 이문제를 처음 봤을 때 DFS+백트래킹으로 생각했다 왜냐하면 모든 경우의 수를 해보고 갔다 백했다하면서 최소 시간을 구한다고 생각해서 약간 swea의 프로세서 연결하기 류의 문제라고 생각했음 3. 가로 일때 세로일때 어떻게 구현할 것 인가 -> 빡구현이 정답인가.. 💡 Solution 0. 일단 블록이 범위를 ..

카테고리 없음 2023.11.30

[구현] 프로그래머스 Lv3 외벽 점검

📌 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/60062 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❗️ Issue 1. 어떻게 돌아가는 원판을 표현할 것인가 2. 친구의 배열(순서)을 어떻게 할 것인가 3. 첫번째 순서의 친구가 모든 취약점을 못메꿀 경우 다음 순서 친구를 어떻게 불러와서 메꿔야하나 💡 Solution 1. 2배로 배열을 늘린다 for i in range(length): weak.append(weak[i]+n) 2. 순열로 완전탐색을 시전한다 - 삼성 코테의 경우 ..

코딩테스트 2023.11.29

[Python] 코딩테스트를 위한 파이썬 문법 - 정리

📌 리스트 관련 기타 메서드 - sort() : 변수명.sort(), 변수명.sort(reverse=True) , O(NlogN) - reverse(): 변수명.reverse(), O(logN) - insert(): 변수명(삽입할 위치 인덱스, 삽입할 값), O(N) -> 남용하면 시간초과 - remove():변수명.remove(특정값), O(N) -> 남용하면 시간초과 📌 문자열 - \" : 백슬래시를 앞에 사용하면 큰따옴표나 작을 따옴표를 문자열에 원하는 만큼 포함시킬 수 있다. 📌 튜플 - 그래프 알고리즘 구현시 자주 사용됨 , 왜냐하면 한번 들어간 값이 바뀌지 않기 때문임 , 공간 효율적임 📌 사전자료형(dict()) - O(1) 리스트보다 빠름 - keys(), values() 📌 집합 자료형 ..

코딩테스트 2023.11.27

[ssafy] 1학기 관통프로젝트 - 1일차

✅ 1 일차 : 파일업로드 프리뷰 기능 구현 ❗️ Issue React Slick 라이브러리 사용 시, Vue3 + Spring boot로 파일업로드 프리뷰 기능 구현하려니 Vue3에는 form 데이터로 enctype ~으로 보낼 수 없다. 그대신 axios로 통신해야하는데 헤더를 지정해야한다. (내일 할 예정) 그리고 해당 그림파일을 프리뷰하려면 @change 로 e.target.files로 확인 후 const reader = new FileReader(); 및 reader.readAsDataURL(file);로 확인할 수 있다. 💡 Solution

카테고리 없음 2023.11.16

[이클립스 오류] (MAC M1) The project cannot be built until build path errors are resolved

1. 톰캣 9버전이 jdk8이랑만 호환된다고 해서 11 삭제 및 8 설치 brew install --cask adoptopenjdk8 java -version sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk #삭제 2. 환경 변수 설정 둘다 해줘야함 2-1) bash_profile vi ~/.bash_profile JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home PATH=$PATH:$JAVA_HOME/bin export JAVA_HOME export PATH source .bash_profile 2-2)zshrc vim ~/.zshrc JAVA_HOME=/..

카테고리 없음 2023.09.23