알고리즘 문제를 풀다 2의 몇 제곱인지를 구해야되는 경우가 생겼습니다.하지만 검색을 해도 잘 안나와서 좀 당황했습니다 ㅋㅋ그렇다고 다른 문제를 풀 때 다시 쓸 수도 있는데 for문을 돌리려니 좀 그렇더라구요.그러다가 생각해보니 로그를 쓰면 된다는 걸 깨달았습니다.그래서 생각난김에 정리하려고 블로그에 지수와 로그 부분 정리합니다 ㅎㅎ 거듭 제곱 계산# 2의 3제곱 계산print(2**3)>> 8# pow(a,b) a의 b제곱, pow(a,b,c)를 하면 pow(a,b)%c와 동일하게 계산됩니다.print(pow(2,3))>> 8# math.pow(a,b) a의 b제곱 pow()함수와 차이는 부동 소수점 형태로 반환한다는 겁니다.print(math.pow(a,b))>> 8.0 제곱근 계산(루트)print(2..
저번에 코딩 테스트 사전 테스트 후기를 올렸었죠. 1월 28일에 알고리즘 코딩 테스트를 쳤으나 이제야 후기를 올리네요..ㅎㅎ 결론적으로 말하면 원하는 만큼의 성적을 받지는 못했습니다..!ㅎㅎ 저는 20, 21년도(막 비대면 온라인이 시작되고 온라인 코딩테스트가 들어온 시기)에 코딩 테스트를 공부하기 시작했고, 그에 맞는 공부를 했어요. 하지만 온라인 코딩 테스트 초기라서 그런지 지금과 좀 많이 다른 느낌이 있었어요. 문제 트렌드도 꽤나 다른 느낌을 받았구요. 간단하게 이번에 코딩 테스트를 치고 느낀 점은 1. 그래프 문제가 필수가 아닌 느낌 2. 디버깅 없이 print()로 확인하는 것은 동일 3. 공식 document는 사용 가능(이게 바뀐 것 중에 제일 좋았어요.) 4. 캠 필수(이젠 캠이 거의 필수..
해당 글은 제가 intellij를 쓰면서 쓰는 단축키들을 정리하는 글입니다. 대부분 윈도우 기반입니다. Generate -> Alt + Insert 새파일 생성 -> 프로젝트창 : Alt + Insert -> 에디터 : Ctrl + Alt + Insert 현재 열린 에디터 창의 탭 종료 -> Ctrl + F4 파일 이름 변경 -> 프로젝트창에서 파일 클릭 후 : Shift + F6 복붙 후 일괄 rename -> 원하는 변수명 앞에 커서 위치 후 : shift + F6 Refactor 단축키 -> 원하는 곳에 커서 위치 후 : Shift + Ctrl + Alt + T *Extract Method 도 여기서 가능함.
알고리즘을 풀다보면 로직이 맞는 데도 불구하고 시간 초과가 뜨는 경우가 있습니다. 이 경우 하나 확인해야할 것이 바로 입력 혹은 출력해야하는 데이터의 개수가 많은지 확인해봐야합니다. 만약 입출력해야될 데이터가 평소에 푸는 문제보다 많다면 input()과 print()의 속도가 느려서 그럴 수 있습니다. 이럴 때는 sys 라이브러리의 readline()과 write()를 사용하면 해결될 수 있습니다. 이번 포스팅에서는 파이썬 빠른 입출력에 대해서 작성하고자 합니다. #sys 라이브러리 사용 import sys #빠른 입력 n = sys.stdin.readline() #빠른 출력 sys.stdout.write(answer) 빠른 입력은 sys.stdin.readline()을 사용하면 됩니다. 주의할 점은 엔..
기본적으로 sort() 함수와 sorted()함수는 오름차순으로 정렬해줍니다. 이 전 포스팅에 언급했듯이 역순(내림차순)으로 배열할 경우 reverse 옵션을 True로 주면 됐었습니다. 코딩 특히 알고리즘을 풀다보면 여러 기준으로 정렬을 해야될 경우가 있기에 이에 대해 정리해보고자 합니다. 이 때는 key 옵션에 람다식으로 기준옵션을 주면 손쉽게 해결할 수 있습니다. 1) 길이를 기준으로 정렬 list.sort(key=lambda x : len(x)) sorted(list, key=lambda x : len(x)) 2) 여러 차원의 배열일 경우 원하는 조건으로 정렬 list.sort(key=lambda x: x[0]) #첫번째 인자를 기준으로 정렬 sorted(list, key=lambda x: -x[..

문제 설명 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이 가능합니다. 삼각형의 정보가 담긴 배열 triangle이 매개변수로 주어질 때, 거쳐간 숫자의 최댓값을 return 하도록 solution 함수를 완성하세요. 제한사항 삼각형의 높이는 1 이상 500 이하입니다. 삼각형을 이루고 있는 숫자는 0 이상 9,999 이하의 정수입니다. 입출력 예 triangle result [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 solution ..
문제 설명 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없습니다. 구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다. 사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return 하도록 solution 함수를 작성해주세요..
문제 설명 1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고 있습니다. 영어 끝말잇기는 다음과 같은 규칙으로 진행됩니다. 1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다. 마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다. 앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다. 이전에 등장했던 단어는 사용할 수 없습니다. 한 글자인 단어는 인정되지 않습니다. 다음은 3명이 끝말잇기를 하는 상황을 나타냅니다. tank → kick → know → wheel → land → dream → mother → robot → tank 위 끝말잇기는 다음과 같이 진행됩니다. 1번 사람이 자신의 첫 번째 차례에 tank를 말합니다. 2번 사람이 자신의 첫 번째 차례에 ..
- Total
- Today
- Yesterday
- spring boot
- 인프런
- 디프만
- 16기
- 서버
- 중간발표
- 프로그래머스
- 백엔드
- 육.지.행
- 파이썬
- 15기
- 10기
- tdd
- 알고리즘
- server
- it 동아리
- python
- 글또
- 해커톤
- 육지행
- 연합 동아리
- 회고
- AWS
- 6팀
- 스터디
- 1주차
- 글로컬
- 리빙랩
- test
- 후기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |