본문 바로가기
  • optimuslee

알고리즘10

[백준] 14681. 사분면 고르기 문제 흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다. 예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1사분면에 속한다. 점 B는 x좌표가 음수이고 y좌표가 양수이므로 제2사분면에 속한다. 점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표와 y좌표는 모두 양수나 음수라고 가정한다. 입력 첫 줄에는 정수 x가 주어진다. (−1000 ≤ x ≤ 1000; x ≠ 0) 다음 줄에는 정수 y가 주어진다. (−1000 ≤ y ≤ 1000; y ≠ 0) 출력 점 (x, y)의 사분면 번호(1, 2,.. 2022. 4. 17.
[백준] 2753. 윤년 문제 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다. 입력 첫째 줄에 연도가 주어진다. 연도는 1보다 크거나 같고, 4000보다 작거나 같은 자연수이다. 출력 첫째 줄에 윤년이면 1, 아니면 0을 출력한다. 예제입력1 2000 예제출력1 1 예제입력2 1999 예제출력2 0 코드예시 year=int(input()) print(int(year%4==0 and (year%100!=0.. 2022. 4. 17.
[백준] 9498. 시험 성적 문제 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 시험 성적을 출력한다. 예제입력1 100 예제출력1 A 코드예시 score=int(input()) if(score>=90 and score=80 and score=70 and score=60 and score 2022. 4. 17.
[백준] 10430. 나머지 문제 (A+B)%C는 ((A%C) + (B%C))%C 와 같을까? (A×B)%C는 ((A%C) × (B%C))%C 와 같을까? 세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) 출력 첫째 줄에 (A+B)%C, 둘째 줄에 ((A%C) + (B%C))%C, 셋째 줄에 (A×B)%C, 넷째 줄에 ((A%C) × (B%C))%C를 출력한다. 예제입력1 5 8 4 예제출력1 1 1 0 0 코드예시 A,B,C=map(int,input().split()) print((A+B)%C) print(((A%C)+(B%C))%C) print((A*B)%C) print( ((A%C) * (B%C))%.. 2022. 4. 17.
[백준] 10926. ??! 문제 준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때, 놀람을 표현하는 프로그램을 작성하시오. 입력 첫째 줄에 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어진다. 아이디는 알파벳 소문자로만 이루어져 있으며, 길이는 50자를 넘지 않는다. 출력 첫째 줄에 준하의 놀람을 출력한다. 놀람은 아이디 뒤에 ??!를 붙여서 나타낸다. 예제입력1 joonas 예제출력1 joonas??! 코드예시 name=input() print(name+"??!") 코드설명 input()으로 string 문자열을 입력받고 name이라는 변수에 저장한 다음에 + 연산을 이용해.. 2022. 4. 17.
[백준] 10869. 사칙연산 문제 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. 입력 두 자연수 A와 B가 주어진다. (1 ≤ A, B ≤ 10,000) 출력 첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A*B, 넷째 줄에 A/B, 다섯째 줄에 A%B를 출력한다. 예제입력1 7 3 예제출력1 10 4 21 2 1 코드예시 A,B=map(int,input().split(" ")) print(A+B) print(A-B) print(A*B) print(int(A/B)) print(A%B) 코드설명 input()으로 데이터를 입력받고 띄어쓰기를 기준으로 데이터를 나누어 A, B에 저장한 다음에 +, - , *, / , % 순으로 결과값을 출력하면 됩니다. 2022. 4. 17.
[백준] 1008. A/B 문제 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-9 이하이면 정답이다. 예제입력1 1 3 예제출력1 0.33333333333333333333333333333333 예제출력2 4 5 예제출력2 0.8 코드예시 A,B=map(float,input().split(" ")) print(A/B) 코드설명 input()을 통해 데이터를 입력받고 float으로 A와 B에 데이터 저장하고 두 데이터를 나눈 값을 print로 출력하면 됩니다~!! 2022. 4. 17.
[백준] 10718. We love kriii 문제 ACM-ICPC 인터넷 예선, Regional, 그리고 World Finals까지 이미 2회씩 진출해버린 kriii는 미련을 버리지 못하고 왠지 모르게 올해에도 파주 World Finals 준비 캠프에 참여했다. 대회를 뜰 줄 모르는 지박령 kriii를 위해서 격려의 문구를 출력해주자. 입력 본 문제는 입력이 없다. 출력 두 줄에 걸쳐 "강한친구 대한육군"을 한 줄에 한 번씩 출력한다. 예제입력1 예제출력1 강한친구 대한육군 강한친구 대한육군 코드예시 print("강한친구 대한육군") print("강한친구 대한육군") 코드설명 print문을 사용하여 같은 문구를 2번 출력하면 됩니다~!! 2022. 3. 26.
chapter 2. 큐(queue) 여러분 안녕하세요? 오늘은 우리가 큐(queue)에 대해 배워보는 시간입니다. 지난 시간에 배웠던 스택에 비해서 큐는 조금 생소할 수도 있는데요...그래도 제가 차근 차근 열심히 설명도 하고 구현도 해보도록 하겠습니다. 큐??? 여러분들이 생각하는 큐는 무엇인가요? 제가 큐라는 단어를 제시했을 때, 무엇이 생각났나요? 저는 이상하게 당구장 큐가 생각났습니다. 물론 제 생각이나 비유가 항상 답은 아니니까 참고만 하세요 ㅎㅎ....근데 아마 어느 정도 도움은 될 겁니다. 큐 앞에 놓인 주황색 공을 앞으로 보내기 위해선 당연히 그 앞에 있는 빨간색 공부터 밖으로 보낼 수 밖에 없습니다. 너무나도 당연하죠. 우리가 오늘 배울 큐도 당구 큐와 그 원리가 똑같습니다. 우리가 지난 시간에 배웠던 stack은 LIFO.. 2021. 1. 18.
chapter 1. 스택(stack) 오늘부터 본격적으로 자료 구조에 대한 공부를 진행해 보도록 합시다. 오늘 배울 자료 구조는 스택(stack)이라는 자료구조입니다. 아마 프로그래밍 언어 공부를 한번 정도 해본 사람이라면 낯선 단어는 아닐 겁니다. 그렇다고 너무 친숙하지도 않죠 ㅎ... 스택은 변수를 선언하고 저장할 때 사용됩니다. 아마도 C/C++에서 동적 할당에 대해 배우실 때, 스택과 힙에 대해 간략히 들어보셨을 것 같습니다. 오늘 스택의 자료 구조에 대한 개념과 구현 방법에 대해 배워보도록 하겠습니다. 개념도 구현도 그렇게 어렵지 않으니까 천천히 따라와 주시면 될 것 같습니다. stack? 여러분들은 스택(stack)이라는 단어를 들으면 어떤 생각이 떠오르나요? 저는 이상하게 책이 여러 층으로 쌓여있는 모습이 상상됩니다. 이렇게 책.. 2021. 1. 18.