전체 글

공부와 경험의 기록!
·Algorithm (PS)
https://www.acmicpc.net/problem/2294 2294번: 동전 2 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주 www.acmicpc.net 크게 두가지 경우로 생각하여 풀었다 ~ INF = int(1e9) dp = [INF]*(k+1) 우선 dp를 최대값으로 초기화 시켜준다! 사용하는 동전의 최소개수를 찾기 위해 계속 for문을 돌면서 갱신해줄 예정이므로 int(1e9) 값으로 초기화 해주었다. i) 동전과 현재 검사중인 금액 money 가 같으면 , 동전 하나로 해당 금액을 만들 수 있으므로 dp[mo..
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/77485 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(rows, columns, queries): answer = [] array = [[0]*columns for _ in range(rows)] k = 1 for i in range(rows): for j in range(columns): array[i][j] = k k += 1 for query in queries: x1, y1, x2, y2 = query[0]-1, que..
https://www.piskelapp.com/ Piskel - Free online sprite editor Piskel is a free online editor for animated sprites & pixel art Create animations in your browser. www.piskelapp.com 갑자기 귀여운 카피바라 픽셀아트 그림을 보다가 직접 그려볼까 싶어서 구글링해서 찾았다 여기 무료+ 회원가입 없이 충분히 이미지 그리고 다운로드 받을 수 있어서 정말 좋다 .piskel 이라는 확장자 파일을 저장했다가 나중에 piskel 홈페이지에서 import 하고 수정할 수도 있다 UI도 직관적이다 그림 뿐만 아니라 픽셀아트 특성상 게임 제작하는 사람들한테 유용할 것 같다 ~~
·Algorithm (PS)
https://www.acmicpc.net/problem/15787 15787번: 기차가 어둠을 헤치고 은하수를 입력의 첫째 줄에 기차의 수 N(1 ≤ N ≤ 100000)과 명령의 수 M(1 ≤ M ≤ 100000)가 주어진다. 이후 두 번째 줄부터 M+1번째 줄까지 각 줄에 명령이 주어진다. www.acmicpc.net 구현문제이다 실버 2.. 하라는대로 명령처리를 해준다음에 기차를 for문을 통해서 하나씩 string으로 만들고, 이전에 등장했는지 count해준다 3번명령 4번명령을 처음에는 for문으로 구현하다가 생각해보니까 문자열슬라이싱을 쓰는 것이 파이썬이기도 하고 더 빠를것 같아서 개선했다 놀랍게도 pypy python 모두 통과한다 ㅋㅋ (파이썬은 조금 힘겹게 통과하긴함 ㅎ) n, m = ..
Python 으로 간단한 콘솔 프로그램인 ATM 프로그램을 만들어 보았다 ! 예전에는 C++ 으로 객체지향프로그래밍 수업에서 비슷한 은행 프로그램을 만든 적이 있었는데.. 그때보다는 확실히 파이썬으로 하니까 금방금방 만들어진다. 간단하게 잔액 확인/deposit/withdraw 기능을 두고 설계했다. 비밀번호 바꾸기 기능, 계좌번호 찾기 기능도 추가했다. class를 좀 잘 써서 예쁜 객체지향 프로그래밍을 하고 싶었으나, Account class 만든거 이외에 class를 활용을 안했다. 개선한다면 Controller class 정도 만들어서 계좌 작업 처리 관련 함수들 (deposit, withdraw...) 을 묶을 수 있겠다. 객체지향.. 말로는 쉬운데 직접 설계하면 아직도 쉽지가 않다 ㅋㅋ 오랜만..
·Algorithm (PS)
https://www.acmicpc.net/problem/21278 21278번: 호석이 두 마리 치킨 위의 그림과 같이 1번과 2번 건물에 치킨집을 짓게 되면 1번부터 5번 건물에 대해 치킨집까지의 왕복 시간이 0, 0, 2, 2, 2 로 최소가 된다. 2번과 3번 건물에 지어도 동일한 왕복 시간이 나오지만 더 www.acmicpc.net 1. 치킨집을 두개 지정해주어야 한다. 이를 combination을 이용하여 간단히 구현했다. 2. 치킨집 2개를 뽑는 모든 조합을 brute force로 확인한다. 그리고 왕복거리가 최소가 되는 경우를 구한다. 3. bfs는 치킨집 2개를 start node라고 가정하고, 치킨집에서 각각의 노드들을 방문하며 왕복거리를 계산했다. 4. answer 를 sort해서 가..
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr dfs로 풀어야 겠다고 떠올렸다 그런데 보통 입력이 숫자로 주어졌고, 나는 그래프를 표현할 때 주로 이차원 리스트를 사용했는데 각각의 node에 해당하는 공항 이름들이 문자열이다보니, 처리를 쉽게 하기 위해서는 dictionary 자료형이 낫다고 생각했다. 내가 좋아하는.. 쓰기 편한 defaultdict으로 초기화 없이 우선 정의해주고, for 문에서 각각 그래프와, visited 딕셔너리에 F..
·Algorithm (PS)
https://www.acmicpc.net/problem/15927 15927번: 회문은 회문아니야!! 팰린드롬이란 앞으로 읽으나 뒤로 읽으나 같은 문자열을 말한다. 팰린드롬의 예시로 POP, ABBA 등이 있고, 팰린드롬이 아닌 것의 예시로 ABCA, PALINDROME 등이 있다. 같은 의미를 가지는 여러 단어들을 www.acmicpc.net 애드혹 유형이라고 한다 1. ZZZ 같이 같은 문자로 연속되는 문자의 경우 어떻게 문자열을 슬라이싱하더라도 펠린드롬 문자열이므로, -1을 return 한다. 1 의 경우에 해당되지 않는다면, 해당 문자열이 펠린드롬인지 아닌지를 판단해서 쉽게 답을 얻을 수 있다. 2. 펠린드롬 문자열인 경우 : (전체 문자열 길이-1)를 return 한다. 3. 펠린드롬 문자열이..
minjiwoo
MJ workspace