제가 개최한 코딩 테스트 후기 글들을 꾸준히 보고 있는데요. 이 글들을 잘 보면, 생각보다 배울 만한 것들이 많았습니다. 제가 낸 문제 중에, 가희와 파일 탐색기가 있었는데요. 이 글에서는 풀이 보다는 정렬 조건이 복잡할 때, 아 이러한 패턴이 있었구나. 정도만 알고 넘어가셔도 괜찮겠다 싶어서 가지고 오게 되었습니다. 사실 이 글에서 언급하는 방법 말고도 우선순위 역순으로 n회 정렬한다던지와 같은 방법도 있는데, 이에 대해서는 나중에 언급할 기회가 있을 듯 싶어요. dsu 패턴은 생각보다 복잡하지 않아요. python에서는 여러 비교 기준이 있는 문제에서 tuple을 이용하게 됩니다. dsu는 3가지 과정으로 나뉩니다. 먼저, 데이터를 가공합니다. 어떻게 가공해야 할까요? list나 tuple은 문서에 ..
파이썬 검색 결과
안녕하세요. 이번 시간에는 파이썬의 deepcopy에 대해 알아봅시다. 문서의 어떤 부분을 봐야 하는지 유심히 보도록 하겠습니다. 그리고, 어떻게 이러한 기능을 구현해야 하는지도 간단하게 소개해 보겠습니다. 먼저, copy는 shallow copy를 합니다. 문서에서는, compound object를 만들고, 그 안에 있는 objects들의 참조를 복사한다고 되어 있는데요. 2번째 줄에서 li는 아래와 같이 할당 되어 있어요. 그냥 간략하게만 그려 보겠습니다. li는 이런 식으로 그림이 그려집니다. 여기서 li2 = cp.copy(li)를 했는데요. 참조만 복사한다고 하였습니다. 고로, 이렇게 상황이 그려지게 됩니다. 다음에 li[2][1] = 2를 합니다. 이러면 어떻게 될까요? li[2]나 li2[2..
안녕하세요. 이 글에서는 python 문자열 자르기에 대해서 간단하게 알아보겠습니다. 먼저, 문자열 'abcdefg'가 있어요. 여기서 1번째 인덱스부터 2번째 인덱스까지 꺼내기 위해서 어떻게 하면 될까요? 2번째 줄을 보면 s[1:3]이라고 적었는데요. 이것은 1번째부터 2번째까지 뽑겠다는 의미입니다. 3번째는 포함하지 않아요. 실행 결과는 위와 같습니다. 4번째 위치부터 끝까지 뽑으려면 어떻게 해야 할까요? s[4:len(s)] 이렇게 입력하면 될까요? 그럴 필요 없어요. 단지 s[4:] 이렇게만 입력하시면 됩니다. 이것은 4번째 위치부터 끝까지 뽑겠다는 거에요. 그러면 'efg'가 print 될 거 같은데요. 정말 그런지 보겠습니다. 정말 'efg'가 뽑혔어요. 처음부터 2번째 인덱스까지 뽑는다면 ..
안녕하세요. 여행 갔다와서 오랫만에 글을 씁니다. 이번 시간에는 파이썬의 os에 있는 listdir에 대해 알아봅시다. 먼저, 함수 설명을 봅시다. 이 함수는 디렉토리 안에 있는 파일들의 목록을 리턴해 주는 함수입니다. 예제 프로그램을 봅시다. 먼저, main.py는 프로젝트의 root 폴더에 있습니다. os.path.abspath('./test_data')는 기준 경로 밑에 test_data 폴더의 abspath를 출력합니다. 프로젝트 구조를 볼게요. test_data 밑에 있는 파일은 디렉토리 1, 1.in, 1.txt, 2.txt입니다. 실행 결과만 보도록 하겠습니다. 1, 1.in, 1.txt, 2.txt를 출력하는데요. 기준 경로로 잡혀있는 것이 드라이브 C 밑에 Users 밑에 chokw 밑에..
안녕하세요. 조가희입니다. 이번 시간에는 제가 가희 코테를 열면서 풀이를 검증했을 때 사용해서 편리했던 defaultdict에 대해 알아보도록 하겠습니다. 먼저, 아래 프로그램을 봅시다. 처음에 1번 키가 있고, value 값이 빈 리스트입니다. 그리고 1번 key의 value 값에 append(2)를 합니다. 그러면 1번 키는 2만 들어가 있는 리스트에 대응될 겁니다. 1번째 줄에서 dic은 위와 같이 되어 있습니다. 2번째 줄이 수행되고 나서, key 1에 대응되는 것은 2가 들어 있는 list일 테니, {1: [2]}가 출력될 겁니다. 문제는 그 다음에 키 2에 있는 값에 접근한다는 것입니다. 그런데, 이것은 dic에 없는 키입니다. 따라서, KeyError가 뜹니다. 실행 결과는 위와 같습니다. ..
최근댓글