문제 문제 해석 x, y값의 부호에 따라 몇 사분면에 해당하는지 구하는 문제이다. 문제 풀이 x축과 y축은 사분면에 해당하지 않으므로 제외해준다. 사분면에는 총 4개의 사분면이 있으므로 총 4가지 경우로 나눠주기 위해 if-elif-else문을 이용한다. 맨 처음 x값과 y값을 받아야 하므로 int(input())을 써준다. 문제 코드
Koala - 9기
https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 퇴사[^1] 구현 과정 첫 번째 첫날을 무조건 선택하여 해당 일의 T를 얻어 그다음 가능한 모든 경우의 수를 탐색 구현도 엉망으로 하였고 무엇보다 깔끔하게 받아들여지지 않았다. 두 번째(외부 자료 참고 후) 첫 번째 했던 방식에서 연산을 무시할 경우와 연산에 대해 더 구체화하여 정의하였다 무시할 경우 : if ( i+t[i] ) > day 현재날과 해당 일의 소요일을 더하여 주어진 전체 요일과 크기를 비교한다 하나의 일이 제한된 기간에 수행이 가능함을 나타낸다 연산 : dp[i + t[i]] = max(dp[i + t[i]], dp[..
https://www.acmicpc.net/problem/2739 2739번: 구구단 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. www.acmicpc.net 문제 문제 해석 1과 9 사이의 자연수 N이 주어질 때 구구단 N단의 식과 그 답을 순서대로 출력하는 문제이다 문제 풀이 변수 n을 정수로 입력받은 뒤 n * i = ans 형식으로 출력하면 된다. 이 때이때 i가 1부터 9까지 반복되므로 반복문 for을 이용하였다. 이때 range 함수를 이용해 1부터 (10-1)까지의 범위를 입력할 수 있다. 출력문은 숫자와 문자로 이루어져 있으므로 콤마로 구분해주고, 문자에는 따옴표를 붙여 컴파일 오류가 나지 않도록 해준다. * print부분의 코드를 ..
https://www.acmicpc.net/problem/6443 6443번: 애너그램 첫째 줄에 단어의 개수 N 이, 둘째 줄부터 N개의 영단어가 들어온다. 영단어는 소문자로 이루어져 있다. 단어의 길이는 20보다 작거나 같고, 애너그램의 수가 100,000개 이하인 단어만 입력으로 주 www.acmicpc.net 문제 씬디는 애너그램(anagram) 프로그램을 만들어 줄 수 있는 남자를 좋아한다. 참고로 씬디는 매우 예쁘다. 애너그램 프로그램이란, 입력받은 영단어의 철자들로 만들 수 있는 모든 단어를 출력하는 것이다. 가령 "abc" 를 입력받았다면, "abc", "acb", "bac", "bca", "cab", "cba" 를 출력해야 한다. 입력받은 단어내에 몇몇 철자가 중복될 수 있다. 이 경우 ..
https://www.acmicpc.net/problem/20540 20540번: 연길이의 이상형 졸업을 앞둔 연길이는 크리스마스가 다가올수록 외로움을 느낀다. 그런 연길이를 위해 동우는 소개팅을 시켜주지는 않고 연길이의 이상향을 찾는 것을 도와주고자 한다. MBTI 신봉자인 연길이는 www.acmicpc.net 문제분석 입력은 MBTI가 문자열로 주어지고 4가지 지표가 모두 반대되는 MBTI를 출력해야한다. 문제풀이 지표 설명 외향(Extroversion) 내향(Introversion) 선호하는 세계:세상과 타인 / 내면 세계 감각(Sensation) 직관(iNtuition) 인식형태: 실제적인 인식/ 실제 너머로 인식 사고(Thinking) 감정(Feeling) 판단기준: 사실과 진실 위주 / 관계와..
https://www.acmicpc.net/problem/17626 17626번: Four Squares 라그랑주는 1770년에 모든 자연수는 넷 혹은 그 이하의 제곱수의 합으로 표현할 수 있다고 증명하였다. 어떤 자연수는 복수의 방법으로 표현된다. 예를 들면, 26은 52과 12의 합이다; 또한 42 + 32 + 1 www.acmicpc.net 문제 라그랑주는 1770년에 모든 자연수는 넷 혹은 그 이하의 제곱수의 합으로 표현할 수 있다고 증명하였다. 어떤 자연수는 복수의 방법으로 표현된다. 예를 들면, 26은 5^2과 1^2의 합이다; 또한 4^2 + 3^2 + 1^2으로 표현할 수도 있다. 역사적으로 암산의 명수들에게 공통적으로 주어지는 문제가 바로 자연수를 넷 혹은 그 이하의 제곱수 합으로 나타내..
문제 15917번: 노솔브 방지문제야!! 어떤 수 a가 2의 거듭제곱꼴로 나타내어진다고 해 봅시다. 그렇다면, a = 2n (단 n ≥ 0인 정수) 를 만족할 겁니다. 보통, 각 비트별로 검사를 하면서, 켜져 있는 비트의 개수를 알아내는 것도 좋은 www.acmicpc.net 문제 해석 주어진 숫자를 2^n으로 딱 떨어지게 표현할 수 있으면 1, 아니면 0을 출력해야 하는 문제이다. 문제 풀이 숫자를 2의 거듭제곱인지 아닌지 판별하는 가장 쉬운 방법은, 십진수인 정수를 이진수로 변환하여 생각하는 것이다. 이진수로 변환했을 때, 전체 자리 중 1이 가장 첫 번째 자리에 한 번만 등장하는 경우에 2의 거듭제곱이라는 점을 이용하였다. 전체 코드 input = __import__('sys').stdin.read..
문제 링크 2742번: 기찍 N 자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 문제 해석 연속된 세 수 사이에 곱셈과 나눗셈을 한번씩만 사용해서 가장 큰 값를 구하는 문제이다. 세 수의 위치는 변하지 않기 때문에 연산 기호의 위치만 서로 바꿀 수 있다. 코드 #include using namespace std; int main() { int N; cin >> N; for (int i = N; i >= 1; i--) { cout
15917번: 노솔브 방지문제야!! 어떤 수 a가 2의 거듭제곱꼴로 나타내어진다고 해 봅시다. 그렇다면, a = 2n (단 n ≥ 0인 정수) 를 만족할 겁니다. 보통, 각 비트별로 검사를 하면서, 켜져 있는 비트의 개수를 알아내는 것도 좋은 www.acmicpc.net 문제 풀이 자연수 $n$에 대하여 $n$을 2의 거듭제곱으로 나타낼 수 있다면 이진수로 나타내었을 때 모든 자릿수에서 1이 하나 뿐일 것이다. 이진수는 0과 1로만 구성되어 있으므로 모든 자릿수의 합은 1의 개수가 된다. 따라서 $n$을 이진수로 나타냈을 때 모든 자릿수의 합이 1이면 1, 1이 아니라면 0을 출력한다. 소스 코드 Q = int(input()) ans = [] for _ in range(Q): input = __impor..
https://www.acmicpc.net/problem/10797 문제 입력 첫 줄에는 날짜의 일의 자리 숫자가 주어지고 두 번째 줄에는 5대의 자동차 번호의 일의 자리 숫자가 주어진다. 날짜와 자동차의 일의 자리 숫자는 모두 0에서 9까지의 정수 중 하나이다. 출력 주어진 날짜와 자동차의 일의 자리 숫자를 보고 10부제를 위반하는 차량의 대수를 출력한다. 문제 코드 문제 풀이 날짜를 변수 n으로 선언한 후 scanf를 통해 값을 입력받음. 변수 a의 값을 입력받고 입력값과 n을 비교하여 둘의 값이 같다면 변수 sum의 값을 1씩 더해주는 코드를 다섯 번 반복되는 for문 속에 넣음. 그 후 sum값을 출력함.