본문 바로가기

전체 글117

[PS] 백준 1712번 - 손익분기점 | Python 백준 1712번 문제 Write-Up입니다. https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 손익분기점을 구하면 되는데... 총지출보다 총수입이 많아지는 때를 구하면 됩니다. 판매량을 x라고 했을 때, 총지출은 A + (B * x)이고, 총수입은 C * x입니다. 이 때 최초로 A + (B * x) < C * x 식을 만족하는 x의 값을 찾으면 됩니다. 반복문으로 직접 찾는 방법도 있지만, 입력 범위가 21억까지이기 때문에 시간 초과가 나옵니다. 따.. 2023. 1. 13.
[PS] 백준 10809번 - 알파벳 찾기 | Python 백준 10809번 문제 Write-Up입니다. https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 알파벳 인덱스를 저장하는 26개의 배열을 정의하고, -1로 모두 초기화를 합니다. 이후 입력받은 문자열을 검사하는데, 해당 문자열이 처음 나올 경우(해당 문자에 해당하는 배열 값이 -1인 경우) 인덱스를 배열에 저장합니다. Python의 경우 배열 통째로 출력하면 오답 처리되네요. C언어처럼 값 하나하나 다 끄집어내서 출력해야 합니다. d.. 2023. 1. 13.
[PS] 백준 2908번 - 상수 | Python 백준 2908번 문제 Write-Up입니다. https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 세 자리 숫자 입력 받은 후 거꾸로해서 비교하면 됩니다. int를 직접 입력받아 /와 % 연산을 이용해도 되지만, 문자열로 입력받아 뒤집은 다음 int 형변환해서 비교해도 됩니다. def solution(n, m): return n if n > m else m if __name__ == "__main__": n, m = input().split() print(sol.. 2023. 1. 13.
[PS] 백준 1463번 - 1로 만들기 | Python 백준 1463번 문제 write-up입니다. https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 문제에 주어진 연산을 이용하여 입력되는 수를 1로 만드는데, 이 연산을 사용하는 최솟값을 출력하면 됩니다. 주어진 연산은 다음과 같습니다. X가 3으로 나누어 떨어지면, 3으로 나눈다. X가 2로 나누어 떨어지면, 2로 나눈다. 1을 뺀다. 직접 1로 만드는 경우의 수를 계산하게 되면 시간 초과가 나기 때문에, dynamic programming을 이용하여 문제를 풀어야 합니다. dynamic programming에 관한 내용은 다음 게시물을 참고하시기 바랍니다. h.. 2023. 1. 11.
[Algorithm] Dynamic Programming(동적 계획법)과 피보나치 수열 Dynamic Programming(DP, 동적 계획법)은 큰 문제를 작은 문제들로 분할하여 문제를 해결하는 방법입니다. 컴퓨터의 자원은 한정적이어서 무한히 값을 계산할 수 없기 때문에, 이미 계산된 값의 결과를 재활용하여 문제를 해결하는 방법을 만들어 내게 되는데 이것이 dynamic programming입니다. 뭐가 다이나믹한 건지 의문을 제시할 수도 있는데, 이 기법을 처음 고안한 Richard Bellman은 dynamic이라는 단어가 멋있어 보여서, 벨 연구소에서 펀딩을 받기 위해 이렇게 이름을 지었기 때문에 그냥 넘어가면 됩니다. '기억하며 풀기'라고 이해하면 됩니다. 아래의 순서로 DP 문제를 접근해 볼 수 있습니다. 1. DP의 조건 DP를 이용해 문제를 해결하기 위해서는 아래 3가지 조건.. 2023. 1. 11.
[Algorithm] C++로 구현한 행렬 곱셈 알고리즘 행렬의 곱셈 알고리즘은 여러 가지가 존재합니다. 이번 글에서는 행렬의 곱셈 방식과 이를 토대로 한 단순 곱셈 알고리즘을 유도해 보겠습니다. $$ \begin{bmatrix} a_{11}&a_{12}&a_{13}\\ a_{21}&a_{22}&a_{23}\\ \end{bmatrix} \times \begin{bmatrix} b_{11} & b_{12} \\ b_{21} & b_{22} \\ b_{31} & b_{32} \\ \end{bmatrix} $$ 위와 같은 행렬이 존재할 때, 앞의 행렬을 A, 뒤의 행렬을 B라고 하겠습니다. 행렬 A의 크기는 2*3이고, 행렬 B의 크기는 3*2입니다. 1. 행렬 곱셈의 조건 행렬 곱셈을 하기 위해서는 행렬 A의 열과 행렬 B의 행의 개수가 동일해야 합니다. 예시로 .. 2022. 12. 28.
iPad Air 5세대 Blue, Apple Pencil 2세대 개봉기 iPad를 구매했습니다. 사실 저는 Apple 회사를 이런 저런 이유 때문에 별로 안 좋아하는데, Apple 제품들을 필요에 의해서 구매하게 됩니다. (기기를 잘 만들어서 더 킹받습니다.) 제가 구매한 모델은 iPad Air 5세대 Blue 색상인데, 구매 전 iPad Pro와 고민을 했습니다. Apple에서는 iPad Pro를 밀고 있는 것 같은 게, 이번 iPad Air 5세대의 경우 메모리 옵션을 64GB, 256GB 중에 하나 선택할 수 있습니다. 64GB를 고르자니 용량이 작은 것 같고, 256GB를 고르자니 iPad Pro 128GB와 가격이 비슷해집니다. iPad Air에도 M1이 들어갔고, 저는 Pro급의 성능은 필요 없어서 Air를 보고 있었지만 Apple의 이런 정책 때문에 머리가 아팠.. 2022. 12. 21.
[PS] 백준 2740번 - 행렬 곱셈 | Python 백준 2740번 문제 write-up입니다. https://www.acmicpc.net/problem/2740 2740번: 행렬 곱셈 첫째 줄에 행렬 A의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 순서대로 주어진다. 그 다음 줄에는 행렬 B의 크기 M과 K가 주어진다. 이어서 M개의 줄에 행렬 B의 원소 K개 www.acmicpc.net 행렬 곱셈 알고리즘을 작성하는 문제입니다. 다른 조건 없이 행렬 곱셈 알고리즘을 코드로 구현하면 끝나는 문제이기 때문에, 풀이는 아래에 link된 게시물을 참고해주세요. https://spareone.tistory.com/72 [Algorithm] C++로 구현한 행렬 곱셈 알고리즘 행렬의 곱셈 알고리즘은 여러 가지가 존재합니다. 이번.. 2022. 12. 21.
MacBook Pro 16 Silver 개봉기 MacBook을 구매하였습니다. 구매할 때 여러 요소들 때문에 머리가 좀 아팠습니다. 14인치 / 16인치부터 시작해서, 색상, 용량, 한글 / 영문 각인 키보드, 판매처 등... 결국 하나 골라서 구매했고 잘 쓰고 있습니다. 제가 구매한 사양은 이렇습니다. Processor : M1 Pro 10 Core CPU, 16 Core GPU Memory : 16GB RAM Storage : 1TB SSD Keyboard : 한/영 키보드 Color : Silver Size : 16 Inch 쿠팡에서 사려다가, 품절이라 학생복지스토어에서 비슷한 가격에 구매했습니다. 중간에 있는 거 잡아 당기면 뜯깁니다. 본체가 담긴 상자입니다. 상자 뚜껑을 열면 맥북이 있습니다. 맥북 밑으로는 충전기가 있습니다. 열면 바로 전.. 2022. 12. 13.
Adobe 기존 플랜을 블랙프라이데이 할인이 적용된 플랜으로 변경하기 Adobe 학생 및 교사 플랜 23,000원짜리 플랜을 사용하고 있었는데, 11월에는 블랙프라이데이 할인을 해서 동일 플랜을 18,000원에 사용할 수 있다고 합니다. 할인 전에 미리 결제한 경우, 할인된 가격으로 바꿔달라고 하면 바꿔준다고 해서 시도해 보았습니다. 도움말 및 지원 메뉴에서 문의하기 버튼을 클릭합니다. 오른쪽 하단에 어시스턴트가 나타납니다. 플랜 바꿔달라고 메시지를 보내면 [그림 3]처럼 물을 것입니다. '예'를 클릭합니다. 채팅봇이라서 자동 답변을 하는 것 같습니다. 도움이 되었나요 질문에 아니오를 누르면 상담원과 채팅하겠냐고 묻는데, 예를 클릭합니다. 상담원이 연결되고, 계정 정보를 확인합니다. 이후 [그림 6]처럼 메일 확인 가능 여부를 체크하는데, 확인 가능하다고 답장하면 [그림 .. 2022. 11. 25.