해당 글은 제가 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번 사람이 자신의 첫 번째 차례에 ..
문제 설명 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다. 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다. 카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 ..
문제 설명 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다. 예를 들어, 문자열 S = baabaa 라면 b aa baa → bb aa → aa → 의 순서로 문자열을 모두 제거할 수 있으므로 1을 반환합니다. 제한사항 문자열의 길이 : 1,000,000이하의 자연수 문자열은 모두 소문자로 이루어져 있습니다. ..
- Total
- Today
- Yesterday
- 글또
- server
- Grafana
- 15기
- 회고
- 해커톤
- 10기
- 스터디
- tdd
- Loki
- test
- 서버
- 리빙랩
- 백엔드
- 모니터링
- 인프런
- python
- 알고리즘
- 디프만
- it 동아리
- 파이썬
- 연합 동아리
- 글로컬
- 육지행
- AWS
- 육.지.행
- 6팀
- 프로그래머스
- spring boot
- 중간발표
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |