[C++ / 9095] 1, 2, 3 더하기
·
Algorism(PS)/백준
문제 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 문제 설명 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 단, 2가 주어진다면 방법의 수에 2도 포함이 된다. 그리고 4를 구현함에 있어서 1+1+2, 2+1+1 같은 경우는 다른 경우로 판단한다. 예를 들어,정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 풀이 방식 이 문제는 해당 문제와 비슷한 유형의 Dynamic Programming 문제이다. 이전 결과..
C를 이용한 K-means Clustering 구현
·
Programming/C
이것은 1학년 2학기때 시스템프로그래밍 기초라는 과목을 들으면서 구현한 것인데 개념과 함께 누군가에겐 도움이 되지 않을까 싶어 글을 쓴다. 나도 이 과제 덕분에 프로그래밍을 하는 데 있어 막힘도 많았지만 구현하였을 때의 쾌감을 다시 한번 느끼지 않았나 싶어 글을 남겨본다.K-means Clustering 이란?K-means Clustering은 비지도 학습(Unsupervised Learning)의 대표적인 알고리즘으로, 주어진 데이터를 K개의 Cluster(클러스터, 군집)으로 묶는 알고리즘이다. K-means 알고리즘에서 K는 묶을 클러스터의 개수를 의미하고 means는 평균을 의미한다. 즉, 각 클러스터의 평균(mean)을 활용하여 K개의 군집으로 묶는다는 의미이다.분류(Classification)..
Github Action으로 한단계 성장..?
·
활동/Poom (ZeroWasteShop)
서론 2023년 전반기에 Poom이라는 서비스를 개발하면서 이것저것 프론트엔드 개발을 편리하게 해주는 기술들을 써 보았는데, 그중에 Github Action을 써본 경험담을 작성해 보려고 한다. 사실 나는 홈페이지에서 마일스톤 적용하고 뭐 간단한 작업만 하고 풀리퀘만 했지.. 세팅은 하나도 안 했어서 블로그를 쓰면서 정리도 하고 공부도 해보려고 한다. 현업자들과 같이 프로젝트를 준비하면서 되게 모르는 것이 많다는 것을 느꼈다. 특히 백엔드 분들과 AWS S3얘기를 할 때는 AWS인지 모르고 "S3? 왜 갤럭시 S3 얘기를 하고 있지.." 부끄럽지만 이런 생각을 했었다. 그래서 그런 격차를 조금씩 줄여보고자 나름대로 공부를 했었고 우선 개발의 흐름을 파악하기 위해서 제일 먼저 알아야 했던것이 CI/CD였..
[C++ / 2293] 동전 1
·
Algorism(PS)/백준
문제 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제 설명 n가지 종류의 동전이 있다. 각각의 동전이 나타내는 가치는 다르다. 이 동전을 사용해서, 가치의 합이 k원이 되도록 하고 싶다. 각각의 동전은 몇 개라도 사용할 수 있다. 그 경우의 수를 쓰시오. ! 사용한 동전의 구성이 같은데, 순서만 다른 것은 같은 경우이다. 풀이 방식 이 문제는 DP 알고리즘을 통해 푸는 문제이다.즉, 전의 결과의 값이 현재의 값을 정하는데 반영이 된다. 다음 예시를 통해 알아보자. 3 10 1 2 5 만약 n = 3, k=..
[C++ / 11053] 가장 긴 증가하는 부분 수열
·
Algorism(PS)/백준
문제 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 문제 설명 수열 A가 주어졌을 때, 가장 긴 오름차순의 수열을 구하는 프로그램을 작성해야 한다. 풀이 방식 A = { 70, 30, 50, 60, 70, 0, 10} 다음과 같은 수열이 있다고 하자. brute force식으로 구해보면 다음과 같다. 어떻게 해도 이 블로그 보다 설명을 잘 할 수 없으니 모르겠다면 참고 하도록 하자. 백준 11053번 가장 긴 증가하는 부분 수열 파..
[C++ / 2012] 등수 매기기
·
Algorism(PS)/백준
문제 2012번: 등수 매기기 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 500,000) 둘째 줄부터 N개의 줄에 걸쳐 각 사람의 예상 등수가 순서대로 주어진다. 예상 등수는 500,000 이하의 자연수이다. www.acmicpc.net 문제 설명 2007년 KOI에 N명의 학생들이 참가하였다. 경시일 전날인 예비소집일에, 모든 학생들은 자신이 N명 중에서 몇 등을 할 것인지 예상 등수를 적어서 제출하도록 하였다. KOI 담당조교로 참가한 김진영 조교는 실수로 모든 학생의 프로그램을 날려 버렸다. 1등부터 N등까지 동석차 없이 등수를 매겨야 하는 김 조교는, 어쩔 수 없이 각 사람이 제출한 예상 등수를 바탕으로 임의로 등수를 매기기로 했다. 자신의 등수를 A등으로 예상하였는데 실제 등수가 B등이 ..
[C++ / 11047] 동전 0
·
Algorism(PS)/백준
문제 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 문제 설명 준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 풀이 방식 해당 문제는 주어진 값을 이용하여 어떠한 값을 최소 횟수로 만들어 내는 것이 관건이다. 10 4790 1 5 10 50 100 500 1000 5000 10000 500..
2022 찰떡콩떡 해커톤 후기 - 첫 해커톤 수상!
·
활동/해커톤
너무 늦어서 쓸까말까 고민했지만 그래도 첫 해커톤 수상작인데 블로그에 남기는 것이 좋을 것 같아서 남겨본다..ㅎㅎ 들어가며 넥슨 해커톤, 과제, 동아리, 대외활동 등등.. 엄청난 일정을 소화하면서 초인 생활을 한 1학년 2학기를 끝마치고 어떤 생각이 들었다. " 아 당분간은 쉬고싶다.. " 그래서 학기가 끝나고 내 손에 쥐어진 대부분의 일들을 정리하면서 방학동안은 지방러의 서울 라이프를 꿈꾸며 종강을 기다리고 있었다. 그러던 와중 동아리에서 친하게 지내던 형에게 연락이 와서 혹시 해커톤 같이 나갈 생각이 없냐는 말을 들었다. 고민고민 하다가 팀원이 정말 어벤져스 급이였고 나도 방학때 놀기만 할 수는 없다고 생각해서 프론트엔드를 안하는 대신 기획&디자인 분야로 해커톤에 참여하게 되었다. 해커톤 전날, 멋쟁..