목록분류 전체보기 (184)
이숭간 공부기록
https://programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr 문제유형 : DFS/BFS 문제풀이 DFS의 경로상에 순서가 있는경우 (a-b-c 와 a-c-b가 다른경우!!) dfs의 재귀호출이 리턴되는 지점에서 방문처리를 다시 풀어줘야한다 단어가 하나의 노드가되고 차이가 1인 노드끼리 연결되있다고 생각한다. 현재노드로부터 차이가 1인 노드들을 순차적으로 방문탐색하면서 target..
https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr 문제유형 : DFS/BFS 문제풀이 : 전형적인 DFS(BFS)문제로 "연결된 덩어리들이 몇개냐" 구하는 문제 DFS를 통해 노드들을 방문하는데, 자기자신이 아니면서 연결된 노드가 있을때, 해당노드가 아직 방문 전이면 재귀적으로 해당노드를 출발점으로 하여 DFS를 호출한다. 더이상 연결된 노드들이 없을때 DFS의 재귀가 끝나므로 그때 answer에 1을 추..
https://programmers.co.kr/learn/courses/30/lessons/17681 문제유형 : 구현 문제풀이 딱히 어렵진 않았던 문제지만 신박한 파이썬 내장함수를 배우게되어 정리한다. 10진수 2진수 변환 : bin() 나는 이걸 몰랐어서 그냥 재귀로 10진수에서 2진수로 변환하는 tobinary()함수를 만들어서 썼다. >>> bin(10) '0b1010' // 앞에붙은 0b를 없애려면 슬라이스기능을 이용해서 [2:] 요로코롬 오른쪽 정렬후 원하는문자로 메우기 : rjust() val = "77".rjust(5, "0") >> 77000 자매품 (왼쪽정렬) val = "77".ljust(5, "0") >> 00077 그리고 이문제는 0,1로 이루어진 문자열을 활용해서 비트연산자(논리..
https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 문제유형 : DFS/BFS 문제풀이 아래 사진처럼 각 노드들은 결과값을 담고있고, 엣지에 각각 +,- 가 붙은 numbers의 원소가 붙게된다. 최종적으로 numbers끝까지 계산이 완료됬을경우, 즉 count가 len(numbers)인경우에 해당 노드값 (result)가 target과 같으면 원하는 결과값을..
https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 문제유형 : 문자열, 구현 문제풀이 ID와 닉네임을 키:값으로 갖는 딕셔너리를 이용 ( defaultdict 이용) Enter와 Change일때만 딕셔너리에 해당 아이디에 딸린 닉네임을 바꿔주도록 하고 전체를 반복해서 아이디:닉네임을 저장하는 딕셔너리가 최종 구현이 되면 다시 전체 포문을 돌면서 명령에 맞는 문자열로 바꿔서 출력해주면 끝 정답코드 from col..
Optional Java8부터 Optional클래스를 사용해 NullPointerException(이하 NPE)를 방지할수 있도록 했다. Optional 클래스는 Integer나 Double클래스처럼 T타입의 객체를 포장해주는 래퍼클래스이다. Optional는 null이 올수 있는 값을 감싸는 Wrapper클래스로, 참조하더라도 NPE가 발생하지 않도록 도와준다. 즉, 예상치못한 NPE예외를 제공되는 메소드로 간단히 회피할 수 있어 복잡한 조건문 없이도 null값으로 인해 발생하는 예외를 처리할 수 있다. public final class Optional { // If non-null, the value; if null, indicates no value is present private final T ..