sql에서 with 절은 해당 쿼리 내에서 임시 결과를 정의하고 쓸 때 유용하게 사용됩니다. sql 코딩 테스트에서 꽤 어려운 문제가 나왔을 때, 잘 써먹으면 유용하지 않을까 싶어요. 사용 방법 보다는 문제 상황을 하나 정의하는 게 좋을 듯 싶네요. 그러면서 이해를 해 보도록 하겠습니다. 먼저 salaries를 보겠습니다. 이 테이블에는 1년마다 계약을 할 때 각 일꾼들의 연봉을 나타냅니다. 테이블을 조회해 보겠습니다. 그러면, 10001번 일꾼에 대해서, 각각 60117, 62102, 66074, ... 등의 근로 계약을 했음을 볼 수 있어요. 연봉 하니까 무슨 생각이 드나요? 해당 테이블에 근로자가 n년간 계약한 데이터가 있다고 해 봅시다. 그러면, 회사에 다니는 동안의 평균 연봉도 있을 겁니다. 이..
코딩 검색 결과
부동 소수점에서 결합 법칙은 성립하지 않는다고 합니다. 어떤 경우에 성립을 하지 않을까요? 간단하게 테스트 케이스를 만들어 보도록 하겠습니다. 프로그램 1을 보겠습니다. a가 1.0이고 b가 1.0인데 c는 (2^53)입니다. 그리고 d는 1.0 + (1.0 + 2^53)의 값을 출력하고요. e는 (1.0 + 1.0) + 2^53의 값을 출력해요. 두 값이 같을까요? 결론은 같지 않았습니다. 어떻게 이런 데이터를 만들었을까요? 영어 위키에 있는 문서에 따르면, 64bit짜리 floating point의 경우, fraction 부분이 52 bit라고 해요. 이것을 보고 데이터를 만들었습니다. 뜬금없이 무슨 멍멍이 소리를 하고 있네요. 어떤 의미인지 밑에서 후술하겠습니다. printDoubleBits입니다...
안녕하세요. 5일 만에 돌아온 코딩개 입니다. 제가 낸 코딩 테스트 문제 중에 heap 자료구조를 이용하는 문제가 있었습니다. 1회에 유독 많이 냈던 걸로 기억하는데요. 파이썬에서는 heapq 모듈과 tuple을 이용하면 날먹 수준으로 쉽게 구현하실 수 있어요. 예제 코드를 볼게요. 먼저 2번째 줄은 prioroity queue 역할을 할 배열을 선언한 거에요. 다음에 heappush를 하는데요. pq에 tuple (1, 2)를 넣습니다. 4번째 줄에는 (-1, 3)을 넣어요. 다음에, 5번째 줄에서, pq에서 맨 위에 있는 원소를 pop 하면서 맨 위에 있었던 원소를 가져오게 됩니다. 그리고 다시 (-1, 6)을 heap에 넣고, 7번째 줄에서 pq[0]에 무엇이 들어있는지만 봅니다. heappop하고..
예전에 파이썬 배열 회전을 설명하면서 대강 짚고 넘어간 것이 하나 있었습니다. packing과 unpacking이였습니다. 이것을 간단하게 소개만 하고 넘어가겠습니다. 먼저, 매개 변수 앞에 *를 붙이면, packing이 일어납니다. 예를 들어서, 6번째 줄에 인자 [1, 2], [3, 4], [5, 6]을 보냈습니다. 그러면, 함수가 호출이 되고 매개변수로 넘어올 때, [1, 2], [3, 4], [5, 6]이 tuple로 묶어집니다. tuple은 iterable 하니까, for loop로 순회 가능합니다. 따라서, foo([1, 2], [3, 4], [5, 6])을 호출하면 [1, 2], [3, 4], [5, 6] 순으로 출력됩니다. 당연하게도 foo([1, 2, 3], [4, 5, 6])을 호출하면..
파일을 읽고 쓰는 일은 생각보다 자주 하게 됩니다. 이번 시간에는 파이썬으로 텍스트 파일을 읽는 법에 대해서 간단하게 다뤄보겠습니다. in1.txt에는 이런 내용이 저장되어 있어요. 우리의 목표는, 파일에 저장되어 있는 내용을 그대로 출력하는 것이 목표입니다. 어떻게 하면 좋을까요? 우리가 알아야 할 내용은 딱 2개입니다. with open 절과, 현재 line을 iteration으로 얻어오는 것. 먼저 with open 절은 저 같은 경우 아래와 같이 많이 씁니다. 보통, 저는 파일 객체를 다룰 때 f라고 많이 합니다. 요래 하면, file_name을 file_open_mode로 엽니다. 파일의 모드는 'r', 'w' 등이 있을 겁니다. 여기에서는 읽기 모드로 연다고 했으므로, 모드를 'r' 로 하면 ..
최근댓글