목록전체 글 (63)
종우의 삶 (전체 공개)
오늘은 힙과 해시 테이블에 대해 알아보았다. 왜 이렇게 진도가 빠른가 하면 나도 잘 모르겠다. 어찌되었든 내일은 더 어려운 것들이 나타날 것이기에.. 어쨌든 힙이라 함은 다양한 곳에서 마주친 경험이 있는데, 이렇게 알고리즘으로 접근한 것은 이번이 처음이라 쉽지는 않았다.--- 힙이란..정해진 우선순위에 따라 원소를 추가, 삭제가 가능한 자료구조이다. 정말 고맙게도 파이썬에서는 heapq 라이브러리를 지원하여 힙을 편리하게 사용할 수 있다. 최소, 최대 힙 같은 최소, 최대값과 관련하여 힙이 자주 등장하는듯 하다. 최소힙에 대한 기본 예제 같은것이 등장해서 한번 겪어볼 수 있었다. import sysfrom heapq import *n = int(input())nums = list(int(sys.stdi..
Stack과 Queue는 같이 붙어다닌다. 자바로 공부를 했을 때 큐는 들어가지 않아서 개념에 대한 이해가 부족한 것 같다. 먼저 들어간 것이 먼저 나온다.. 어찌보면 당연? 한걸지도 모르지만 세상에 당연한것이 얼마나 있겠는가.. 문제를 마주하니 당연한 것은 거의 없었다. 큐에서 대부분 요소들을 빙빙 돌려 인덱스가 왔다갔다하는 것이 머리에 잘 안들어 온 것이다. 파이썬은 비슷한 함수들로 스택 큐 리스트 등등 많은 것들을 적용하는데 사실 쓰다보면 편하긴 하지만 무엇에 어떤 개념을 사용해야 하는지 정확히 알아야 할 필요가 있겠다. 아웃!
질문에 대해 아는 것이 없다. 알고는 있어도 말로 정리할 수 없다. 글로 우선 정리해보자. 1. Call By Reference란 무엇이고 보통 어떻게 쓰이는가?2. Override와 Overload를 설명하시오3. JPA는 언제 필요하고 언제 필요하지 않은지? 1. Call By Reference (참조에 의한 호출)-> 뭔지 몰랐습니다. ->Call By Reference : 프로그래밍에서 함수의 호출 방식? 메서드라고 이해하면 되겠다. 함수가 호출 될 때 인수로 전달된 변수의 메모리 주소를 전달하는 방식. 함수 내부에서 인수로 받은 변수를 수정하면 원래 변수의 값도 함께 변경된다. 이건 예상치 못한 결과가 발생할듯 하다. 그래서 Java에서는 Call By Value만 지원한다고 한다. - 값에 ..

자주 만나는 행렬 문제들을 풀어본다. 쉬운 문제는 어떻게 풀긴 하겠다. 하지만 인덱스를 고려하고, 2차원 행렬을 탐색하고 여행하는 과정은 무척이나 머리가 아팠다. 오늘의 실패 문제를 알아보자. 숫자 정사각형 - https://www.acmicpc.net/problem/1051각 꼭지점의 숫자를 찾아낼 인덱스를 어떻게 정의하고 찾아내는지가 풀이의 방법이었다. 결과 풀이 : 더보기48ms# 방식은 알았으나 구현이 힘들었음. 자료 참고하여 품n, m = map(int, input().split())max_length = min(n, m) # 정사각형 한변의 최대 길이numbers = [input().strip() for _ in range(n)]# for문 3개를 이용함. -> 처음엔 2개로만 쓰려고 했는데..
열심히 공부했다. 하지만 지치기도 하고 막막하기도 하다. 어떡하면 좋을까? 그냥 해야지 뭐 별수있냐 쉽지 않겠지만 차가운 이 세상에서.. 이겨내야해... 끝.

한번쯤은 겪어야할 상황이었다. 주어진 리스트를 오름차순이든, 내림차순이든 정렬하는 방법에 대한 내용이다. # 언제 발생 한 일인가?무의식 적으로 리스트의 값을 오름차순으로 정렬하여 표현하려고 했다.이를테면 이런식 print(list.sort())해보면 알겠지만 이러한 방법은 동작하지 않는다!! 자동완성으로 .sort가 뜨길래 아무생각없이 사용했었다.그리고 list의 값이 분명 존재하지만 list.sort()를 출력해보면 none이라고 뜬다.print(list.sort())print(sorted(list)) 원하는 출력을 하려면 sorted()라는 함수 안으로 집어넣어야 한다. 이 차이는 무엇일까? --- # 어떤 차이가 있는가? 우선 둘은 메서드와 함수의 차이가 있다. list의 sort() 메서드와 s..
오늘도 다양한 문제들을 풀어보았다.자바에도 키-밸류로 관리하는 자료구조가 있는 만큼 파이썬에도 그러한 기능을 하는 '딕셔너리'를 많이 접할 수 있었는데,조금만 다른 접근을 해도 시간 초과가 되곤 했다. 들여쓰기 하나에도 의미없는 로직이 될 수 있으니 잘 고려해봐야겠다. 어쨌든 구현을 하고 통과를 목표로 만들고 있는데, 조금씩 익숙해지다보면 이러한 문제들을 좀더 효율적으로 해결할 수 있는 방법을 찾을지도 모르겠다. java에서는 그나마 쉽게 떠올렸던 완전탐색도 해보았는데, while과 같은 이상한 방법으로 비슷하게는 출력하였으나찾아보니 for문 2개를 역시나 사용하는것이 맞았다. 깔끔하고 복잡도도 줄어드는 멋진 방법이었다. 이유는 모르겠는데 완전탐색이 가장 마음에 드는 알고리즘이다. 그런만큼 관련된 문제..
알고리즘 세션을 시작하면서 다양한 문제들이 쏟아져나왔다. 아직 초보인 나로서는 브론즈~실버를 왔다갔다하는 문제들을 풀게되었다. 뭔가 풀리는 문제들도 있고, 여전히 접근조차 어려운 문제들이 있다. 다양한 것들을 해결하기 위해서 계속 풀어보는 수 밖에 없겠다.이 게시판도 뭔가 더 많이 적고 싶은데, 우선은 먼저 해야할 것들이 있으니 뜸해지는건 어쩔 수 없다. 파이썬은 리스트를 이용한 다양한 활용이 가능하다. 다음 게시물에 이러한 것들을 정리해보아야겠다. if문으로 마구 적어야 할 내용들을 리스트에 집어넣어 편하게 관리할 수 있는 것들을 준비해보자. 우선은 오늘부터 문제를 많이 풀어야한다. 뇌가 아프다.