728x90
반응형

전체 글 115

[후기] 프밍 챌린지 1기 마무리!

https://www.notion.so/1-d01a220ba78f4dbcba21075945ec70a1 프밍 챌린지 1기 단순히 컨텐츠를 소비함을 넘어, 요약하고 정리하여 추천하며 더 좋은 개발 문화를 만들어나가는 챌린지! 신청하시기 전에 꼭 활동 방식을 확인 해 주세요! www.notion.so 15일간 이어진 프밍 챌린지.. 3일 동안 컨텐츠를 소비하고 깃허브에 그중 좋은 컨텐츠를 공유하는 형식이었다. 취지가 좋아서 신청하고 챌린지에 참여하게 되었다. 하다 보니 느낀 점은.. 생각보다 3일이 짧다는 것? 3일 안에 좋은 컨텐츠를 만나기란 생각처럼 쉽지 않았다. 그리고 이 챌린지에 참여하는 분들이 다 제각기 다른 상황에 있어서(직장인, 취준생, 학생..) 내가 좋다고 생각해 기고한 컨텐츠가 다른 이들에게..

기타 2022.05.15

[파이썬] BOJ_9095(1, 2, 3 더하기)

문제 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 해설 방법의 수를 계산해보면 1, 2, 4, 7, 13, 24가 나오는데 이걸 보면 dp[i] = dp[i-1] + dp[i-2] + dp[i-3]인 것을 알 수 있다. 처음엔 5까지만 방법의 수를 세보고 dp[i]의 방법의 수는 그 이전 수들의 방법의 수의 총합이라고 생각했는데 6까지 세어보니 완전 아니었다.. 완전 헛짓거리 하고 있었다. 코드 -파이썬 #백준 9095(1, 2, 3 더하기) t = int(input()) dp = [0] * 11 dp[1] = 1 dp[2] = 2 dp[..

알고리즘/백준 2022.05.03

[파이썬] BOJ_11727(2*n 타일링 2)

문제 https://www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net 해설 이 문제는 dp문제로 규칙만 찾으면 쉽게 풀 수 있다. 처음엔 2*5까지 직접 정리해보고 dp[i] = dp[i-1] + dp[i-2] + (2*(i-2)-1) 인 줄 알았다. 그러나 백준 예제입력2만 해봐도 이게 아니란 걸 알 수 있다. 규칙 찾는데 약간 헤맸지만 자세히 보면 dp[i] = dp[i-1] + (dp[i-2]*2)규칙을 찾을 수 있다. dp[i-1]과 dp[i-2]를 알아내려면 최소한 dp[1], d..

알고리즘/백준 2022.04.30

[파이썬] BOJ_11726(2*n 타일링)

문제 https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 해설 이 문제는 dp 문제이다. 위 그림을 보면 n = (n-1) + (n-2) 임을 알 수 있다. 결국 dp[1]과 dp[2]의 개수만 미리 넣어놓는다면 그 후 dp[n]의 개수들은 쉽게 구할 수 있다. 다만, dp 배열을 초기화할 때 dp = [0] * (1001)이 아니라 dp = [0] * (n + 1)을 해주면 런타임 에러가 뜨는데 왜 뜨는지 모르겠다.. 코드 -파이썬 #백준 11726(2*n 타일링) ..

알고리즘/백준 2022.04.27

[파이썬] BOJ_10845(큐)

문제 https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 해설 시간 제한이 0.5초인 만큼 input() 대신 sys.stdin.readline()을 써줘야 한다. push 처리는 입력을 받을 때 split()을 통해 공백으로 나눠서 받고 x[0], x[1]로 값을 처리해주면 된다. 코드 -파이썬 #백준 10845(큐) import sys n = int(sys.stdin.readline()) queue = [] for _ in ra..

알고리즘/백준 2022.04.22

[파이썬] BOJ_1181(단어 정렬)

문제 https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 해설 이 문제는 단어를 리스트로 입력받고 set()으로 중복 제거 후 알파벳 순 정렬, 길이 순 정렬을 해주면 된다. 알파벳 순 정렬은 누구나 다 알듯이 sorted()를 쓰면 되고 길이 순 정렬은 sort() 함수에 key로 길이를 넣어주면 된다. 코드 -파이썬 #백준 1181(단어 정렬) n = int(input()) word = [] for _ in range(n): a = ..

알고리즘/백준 2022.04.20

[파이썬] BOJ_11650(좌표 정렬하기)

문제 https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 해설 list로 입력받아서 정렬해주기만 하면 끝난다. 그러나 실행 시간은 많이 걸린다. input()으로 입력받으면 시간 초과로 실패한다. 코드 -파이썬 #백준 11650(좌표 정렬하기) import sys n = int(sys.stdin.readline()) y = [] for i in range(n): x = list(map(int, ..

알고리즘/백준 2022.04.20

[파이썬] 프로그래머스_K번째 수

문제 https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 해설 딱히 뭐 생각할 것 없이 문제에 적힌 순서대로 코드를 작성하면 된다. 코드 -파이썬 def solution(array, commands): answer = [] for i in commands: arr = array[i[0]-1:i[1]] arr.sort() answer.append(arr[i[2]-1]) return answer #################################################..

[파이썬] 프로그래머스_주식가격

문제 https://programmers.co.kr/learn/courses/30/lessons/42584#qna 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 해설 이 문제는 문제 설명이 좀 헷갈리게 되어 있는데 결국 요지는 prices[i] 값보다 작은 수가 나오는가이다. 바로 다음 값이 큰 수가 나오더라도 일단 1초는 기다렸다고 보기 때문에 1을 더해준 다음 prices의 값을 비교하면 된다. 코드 -파이썬 #프로그래머스 42584(주식가격) def soluti..

728x90
반응형