전체 글 24

오늘의 코드. 6일차 (백준/9020번 골드바흐의 추측)

평소에 수학 관련 유튜브를 챙겨보는 중, 그중 골드바흐의 추측(Goldbach's conjecture)은 굉장히 오래된정수론에 있어 '미해결 문제'이라는 사실을 알게 되었다. 아니나 다를까, 백준에는 같은 이름의 문제가 있어 풀어보게 되었다. Baekjoon / Problem No.9020 (골드바흐의 추측) Problem 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아니다. 골드바흐의 추측은 유명한 정수론의 미해결 문제로, 2보다 큰 모든 짝수는 두 소수의 합으로 나타낼 수 있다는 것이다. 이러한 수를 골드바흐 수라고 한다. 또, 짝수를 두 소..

오늘의 코드 2024.02.09

오늘의 코드. 5.1일차 (백준/1037번 약수)

쉽다. (진짜로) Baekjoon / Problem No. 1037 (약수) Problem 양수 A가 N의 진짜 약수가 되려면, N이 A의 배수이고, A가 1과 N이 아니어야 한다. 어떤 수 N의 진짜 약수가 모두 주어질 때, N을 구하는 프로그램을 작성하시오. Input 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되지 않는다. Output 첫째 줄에 N을 출력한다. N은 항상 32비트 부호있는 정수로 표현할 수 있다. Solution 1 약수의 특성을 알아보자 1은 모든 수의 약수이다. 어떤 수의 약수중에서 가장 작은 수는 항상 1이다. 어떤 ..

오늘의 코드 2024.02.08

오늘의 코드. 5일차 (백준/2839번 설탕 배달)

일상생활에서 비슷한 상황이 많아서 생각보다 자주 사용될 것 같은 아이디어의 '생활 밀착형' 문제이다. Baekjoon / Problem No. 2839 (설탕 배달) Problem 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가..

오늘의 코드 2024.02.08

<IT정보> No.1 키보드 키 매핑 커스텀 (QMK/VIA) 후기

본인이 사용중인 키보드에 흥미로운 짓(?)을 할 수 있을것 같아 잠담을 시작해본다. 현재 본인이 사용하고 있는 키보드는 KeyChron(키크론) Q6 Knob 화이트 버전(청축)을 쓰고있다. 참고로 얘기하자면 전혀 광고 같은것이 아니다. (QMK/VIA) 기능 같은 경우, 다른 회사들도 이미 많은 제품을 내놓고 있으며, 적어도 기업이 바보가 아니라면 검색해도 이름조차 나오지 않는 이딴 블로그에 광고를 할 리가 없다. (슬프게도.) 여러가지 축을 선택가능하고, 디자인, 마감이 좋다는 점도 있지만 가장 유용하게 쓰는 건 QMK / VIA 기능이 아닐까 생각된다. 여기서 QMK / VIA란, 키보드의 키들을 자기 입맛대로 바꿀 수 있는 기능이다. 매크로 키를 지정하여 위 사진처럼 버튼 하나로 자주 쓰는 것들을..

IT정보 2024.02.07

오늘의 코드. 4일차 (백준/25642번 젓가락 게임)

이런 알고리즘으로 풀면 바로 답이 나오고, 이런 수학 공식을 쓰면 답이 바로 나오는 문제보다는 조금 더 생각하게 되는 문제를 찾아보았다. Baekjoon / Problem No. 25642 (젓가락 게임) Problem 용태와 유진이가 재미있는 젓가락 게임을 하려고 한다. 게임의 진행은 다음과 같다. 용태가 한 손에 펴고 시작할 손가락의 개수 A( 1 ≤ A ≤ 4 )를 정한다. 유진이가 한 손에 펴고 시작할 손가락의 개수 B( 1 ≤ B ≤ 4 )를 정한다. 용태부터 시작해서 서로 번갈아가면서 상대를 공격해서 손가락을 더 펴게 한다. 만약 X 개의 손가락을 펴고 있는 사람이 상대를 공격하면, 상대는 X 개의 손가락을 더 펴야 한다. 다섯 손가락 이상을 펴야 하는 사람이 패배한다. 게임은 한 손만을 사용..

오늘의 코드 2024.02.07

오늘의 코드. 3.5일차 (백준/2166번 다각형의 면적)

학생시절 배웠던 다각형의 면적구하기를 코딩으로 만나보면 새롭지 않을까? 라는 생각으로 문제를 고르게 되었다. Baekjoon / Problem No. 2166 (다각형의 면) Problem 2차원 평면상에 N(3 ≤ N ≤ 10,000)개의 점으로 이루어진 다각형이 있다. 이 다각형의 면적을 구하는 프로그램을 작성하시오. Input 첫째 줄에 N이 주어진다. 다음 N개의 줄에는 다각형을 이루는 순서대로 N개의 점의 x, y좌표가 주어진다. 좌표값은 절댓값이 100,000을 넘지 않는 정수이다. Output 첫째 줄에 면적을 출력한다. 면적을 출력할 때에는 소수점 아래 둘째 자리에서 반올림하여 첫째 자리까지 출력한다. Solution 1 우선 아이디어 자체는 그리 새로운 것을 필요로 하지 않는다. 다만 몇..

오늘의 코드 2024.02.07

오늘의 코드. 3일차 (백준/25305번 커트라인)

작심삼일( 作心三日 )의 3일차. 여기서 끊어질 수 는 없다. 지금 이 커트라인을 넘어 가기위해 제목도 커트라인인 문제를 골라 보았다. Baekjoon / Problem No. 25305 (커트라인) Problem 2022 연세대학교 미래캠퍼스 슬기로운 코딩생활에 N명의 학생들이 응시했다. 이들 중 점수가 가장 높은 k명은 상을 받을 것이다. 이 때, 상을 받는 커트라인이 몇 점인지 구하라. 커트라인이란 상을 받는 사람들 중 점수가 가장 가장 낮은 사람의 점수를 말한다. Input 첫째 줄에는 응시자의 수 N과 상을 받는 사람의 수 k가 공백을 사이에 두고 주어진다. 둘째 줄에는 각 학생의 점수 x가 공백을 사이에 두고 주어진다. Output 상을 받는 커트라인을 출력하라. Sol..

오늘의 코드 2024.02.07

오늘의 코딩지식. No. 1 (Sort()함수와 임시 객체)

오늘의 코드 3일차 에서 알아본 Sort() 함수의 개념에 대해 정리해 보았다. abstarct 우리는 "오늘의 코드. 3일 (백준/25305번 커트라인)편"에서 Sort() 함수를 다루어 보았다. 굉장히 자주 사용할 만한 함수이고, 생각보다 깊이 파고들면 알 만한 내용도 많았다. Sort() 함수의 개념 및 구조 심화 내용 (임시객체) 으로 짧게 구성했다. 한번 알아보도록 하자. Subject 1 - Sort() 함수의 개념 및 구조 Sort() 함수는 C++의 표준 라이브러리 (Standard Template Library = STL)로, 'algorithm' 헤더에 포함되어 있다. 이 함수의 시간 복잡도는 무려 최악의 상황에도 O(nLogn) 으로, 다른 정렬에 비해 빠른 모습을 보여준다. 그 비결..

코딩 지식 2024.02.06

오늘의 코드. 2.7일차 (백준/2566번 최댓값)

이번 문제는 보자마자 아이디어가 떠올라 신나는 마음으로 눌렀다. Baekjoon / Problem No. 2566 (최댓값) Problem 과 같이 9×9 격자판에 쓰여진 81개의 자연수 또는 0이 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 행 몇 열에 위치한 수인지 구하는 프로그램을 작성하시오. 예를 들어, 다음과 같이 81개의 수가 주어지면 1열 2열 3열 4열 5열 6열 7열 8열 9열 1행 1 41 48 47 68 12 54 69 70 2행 40 86 42 67 8 23 88 22 55 3행 30 66 29 9 46 87 53 10 71 4행 16 5 13 24 65 11 86 56 28 5행 78 21 59 3 57 45 90 27 72 6행 4 60 20 58 25 6 84 26 52..

카테고리 없음 2024.02.06

오늘의 코드. 2.5일차 (백준/19532번 수학은 비대면강의입니다)

정말 쉬운 문제이다. 양심에 찔리긴 하지만 그래도 해보겠다. Baekjoon / Problem No.19532 (수학은 비대면강의입니다) Problem 수현이는 4차 산업혁명 시대에 살고 있는 중학생이다. 코로나 19로 인해, 수현이는 버추얼 학교로 버추얼 출석해 버추얼 강의를 듣고 있다. 수현이의 버추얼 선생님은 문자가 2개인 연립방정식을 해결하는 방법에 대해 강의하고, 다음과 같은 문제를 숙제로 냈다. 4차 산업혁명 시대에 숙제나 하고 앉아있는 것보다 버추얼 친구들을 만나러 가는 게 더 가치있는 일이라고 생각했던 수현이는 이런 연립방정식을 풀 시간이 없었다. 다행히도, 버추얼 강의의 숙제 제출은 인터넷 창의 빈 칸에 수들을 입력하는 식이다. 각 칸에는 −999 이상 999 이하의 정수만 입력할 수 있..

오늘의 코드 2024.02.06