분류 전체보기 24

오늘의 코드. 7일차 (백준/13909번 창문 닫기)

해당 문제와 비슷한 내용을 수학퀴즈 관련된 도서에서 본 기억이 나서 문제를 풀어보게 되었다. Baekjoon / Problem No. 13909 (창문 닫기) Problem 서강대학교 컴퓨터공학과 실습실 R912호에는 현재 N개의 창문이 있고 또 N명의 사람이 있다. 1번째 사람은 1의 배수 번째 창문을 열려 있으면 닫고 닫혀 있으면 연다. 2번째 사람은 2의 배수 번째 창문을 열려 있으면 닫고 닫혀 있으면 연다. 이러한 행동을 N번째 사람까지 진행한 후 열려 있는 창문의 개수를 구하라. 단, 처음에 모든 창문은 닫혀 있다. 예를 들어 현재 3개의 창문이 있고 3명의 사람이 있을 때, 1번째 사람은 1의 배수인 1,2,3번 창문을 연다. (1, 1, 1) 2번째 사람은 2의 배수인 2번 창문을 닫는다. ..

오늘의 코드 2024.02.10

오늘의 코드. 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