분류 전체보기
![[Python] 리스트에서 객체 및 튜플 정렬](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWhQzs%2FbtrECw75vIi%2FK8vYiOEBb1AxEz2K9Jh5wk%2Fimg.png)
[Python] 리스트에서 객체 및 튜플 정렬
Goal 파이썬의 객체 리스트, 튜플 리스트 정렬 sort() 자신 리스트를 정렬 a = [5, 341, 6, 1, 4] a.sort() sorted() 함수 argument로 들어온 리스트를 정렬해서 반환 a = [5, 341, 6, 1, 4] b = sorted(a) key 매개변수를 이용한 정렬 어떠한 요소를 기준으로 정렬 튜플(tuple) 정렬 tuple = [(1, b), (4, z), (3, a), (1, a)] tuple.sort(key=lambda x: (x[0], x[1])) # 정렬결과: [(1, 'a'), (1, 'b'), (3, 'a'), (4, 'z')] 코드 설명 x[0] 기준으로 먼저 정렬하고 같은 값이 존재할 경우 x[1]를 기준으로 정렬한다. 객체(object) 정렬 cla..
![[AWS EC2] swap 메모리 설정](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoWKQM%2FbtrEw77qKXa%2FsZMyX9Ui9KvK1D63jMGAg0%2Fimg.jpg)
[AWS EC2] swap 메모리 설정
문제 EC2 프리티어를 생성하여 Docker와 Jenkins를 이용해 CICD를 설정하다가 메모리 과부하가 발생했다. 이를 해결하기 위해 검색을 하다가 swap 메모리라는 걸 알게 되었다. swap 메모리란 RAM이 부족할 경우 HDD의 일정 공간을 마치 RAM처럼 사용하는 것이다. swap 메모리를 활용하여 메모리 부족현상을 해결하기 위한 글을 작성하고자 한다. swap 메모리 설정 dd 명령을 사용하여 swap 메모리를 할당한다. $ sudo dd if=/dev/zero of=/swapfile bs=128M count=32 bs는 블록 크기, count는 블록 수이다. swap 파일의 크기는 bs * count이다. swapfile의 읽기 및 쓰기 권한을 수정한다. $ sudo chmod 600 /s..
![[Python] 프로그래머스 Lv2 - 양궁대회 (2022 KAKAO BLIND RECRUITMENT)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcjtBHq%2FbtrEoJMXWPF%2Fy2E6CanzGlsYFe0i80Orm1%2Fimg.jpg)
[Python] 프로그래머스 Lv2 - 양궁대회 (2022 KAKAO BLIND RECRUITMENT)
🔗 문제링크 코딩테스트 연습 - 양궁대회 문제 설명 카카오배 양궁대회가 열렸습니다. 라이언은 저번 카카오배 양궁대회 우승자이고 이번 대회에도 결승전까지 올라왔습니다. 결승전 상대는 어피치입니다. 카카오배 양궁대회 운영위원 programmers.co.kr 📂 분류 백트래킹 완전탐색 💡 풀이 친구가 파이썬으로 알고리즘 문제 푸는 것을 보고 파이썬이 편해 보이길래 파이썬으로 풀어보았다. 이 문제는 n의 크기가 10 이하 이므로 백트래킹 + 완전탐색으로 해결할 수 있는 문제이다. 접근 방식 라이언이 점수를 획득할지의 여부를 체크하면서 재귀 함수를 진행한다. 라이언의 최대 점수를 경신하면서 answer에 과녁 점수를 넣어준다. 가장 낮은 점수를 더 많인 경우를 반환해야 하기 때문에 낮은 점수를 기준으로 정렬을 해..
![[Java] 프로그래머스 Lv2 - [3차] 압축 (2018 KAKAO BLIND RECRUITMENT)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcwtHtw%2FbtrEjley7sm%2FF7hjQ6CaFGHE2j3dy7HQtK%2Fimg.jpg)
[Java] 프로그래머스 Lv2 - [3차] 압축 (2018 KAKAO BLIND RECRUITMENT)
🔗 문제링크 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr 📂 분류 구현 💡 풀이 문제 설명에 나와 있는 LZW 압축 과정을 구현하면 되는 문제이다. 접근 방식 A ~ Z까지 HashMap을 이용해 초기화를 한다. 현재 단어 w와 다음 단어 c를 받는다. w + c가 map에 저장되어있는지 확인하고, 저장되어있다면 continue로 건너뛰어 위 과정을 다시 진행한다. w + c가 없다면, w 값을 출력하고 map에 저장한 다음 w를 초기화시켜준다. 💻 코드 import java.util.ArrayList; import java.u..
![[Java] 프로그래머스 Lv2 - 3 x n 타일링](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbO4qxd%2FbtrDPA97wLF%2FebEkGlDYMguZX90JUufYa1%2Fimg.jpg)
[Java] 프로그래머스 Lv2 - 3 x n 타일링
🔗 문제링크 코딩테스트 연습 - 3 x n 타일링 programmers.co.kr 📂 분류 DP 💡 풀이 이 문제는 2 x n 타일링을 응용한 문제이다. 세로 길이가 3인 바닥이기 때문에 n이 홀수 일 경우 타일 배치를 하지못한다. 처음 점화식은 dp[i] = dp[i - 2] * 4 - dp[i - 4]로 쉽게 구해졌으나 나머지 연산에 문제가 있어서 이 점화식으로는 문제를 해결하지 못했다. 다른 점화식을 구하려고 고민을 했으나 생각이 나지않아 풀이법을 참고해서 풀었다. 점화식은 다음과 같다. tiles[i] = tiles[i - 2] * 3 + tiles[i - 4] * 2 + tils[i - 6] * 2 ... 💻 코드 public class Solution { private static final ..
![[Java] 프로그래머스 Lv2 - 2 x n 타일링](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxQm0J%2FbtrDEzXzUqE%2F2dKv8KjEwk0SpTUidDWqtK%2Fimg.jpg)
[Java] 프로그래머스 Lv2 - 2 x n 타일링
🔗 문제링크 코딩테스트 연습 - 2 x n 타일링 가로 길이가 2이고 세로의 길이가 1인 직사각형모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 채울 때는 programmers.co.kr 📂 분류 DP 💡 풀이 2 x n 타일링 문제는 메모이제이션을 대표하는 문제이다. 이 문제는 bottom-up 방식과 top-down 방식 두 가지로 해결할 수 있는데, 나는 bottom-up 방식으로 접근하여 문제를 해결했다. 접근 방식 n이 1일 경우 가로로만 배치할 수 있기 때문에 배치할 수 있는 경우는 한 가지만 존재한다. n이 2일 경우 가로로 배치하고 세로로도 배치할 수 있기 때문에 배치할 수 경우는 두 가지가 존재한다. n이..