본문 바로가기

Python/백준

#21 [python/백준] python 문제집 3

728x90

https://www.acmicpc.net/problem/3009

 

3009번: 네 번째 점

세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오.

www.acmicpc.net

 

 

⭐ 3009번: 네번째 점

 

  • 문제

세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오.

  • 코드분석

같은 점이 오면 빼고 두번이상 나오지 않은 점 출력

  • 코드
x_list = []
y_list = []

for i in range(3):
    x,y = map(int,input().split())
    x_list.append(x)
    y_list.append(y)
       
answer_x = list(set(x_list)) # 중복값 제거 함수
answer_y = list(set(y_list))

for x,y in zip(answer_x,answer_y): # 요소만 출력하는 함수
    if x_list.count(x) ==1:
        new_x:int = x
    if y_list.count(y) ==1:
        new_y:int = y
        
print(new_x,new_y)

 

 

 

⭐100988번: 펠린드롬인지 확인하기 

 

 

https://www.acmicpc.net/problem/10988

 

10988번: 팰린드롬인지 확인하기

첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다.

www.acmicpc.net

 

  • 문제

알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 이 단어가 팰린드롬인지 아닌지 확인하는 프로그램을 작성하시오.

팰린드롬이란 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어를 말한다. 

level, noon은 팰린드롬이고, baekjoon, online, judge는 팰린드롬이 아니다.

 

 

  • 코드 분석

문자열을 받아 거꾸로 해도 같은 단어 찾고 1 출력 아니면 0출력 

 

 

  • 코드

 

word = list(str(input()))

if list(reversed(word)) == word:
    print(1)
else:
    print(0)

 

 

 

⭐5086번: 배수와 약수 

 

 

https://www.acmicpc.net/problem/5086

 

5086번: 배수와 약수

각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다.

www.acmicpc.net

  • 문제

두 수가 주어졌을 때, 다음 3가지 중 어떤 관계인지 구하는 프로그램을 작성하시오.

  1. 첫 번째 숫자가 두 번째 숫자의 약수이다.
  2. 첫 번째 숫자가 두 번째 숫자의 배수이다.
  3. 첫 번째 숫자가 두 번째 숫자의 약수와 배수 모두 아니다.
  • 코드분석

나누어떨어지면 배수

바꾸어서 나누어떨어지면 약수

 

  • 코드
while (1):
    x,y = map(int,input().split())
    
    if x==0 and y==0:
        break
        
    if x<y and y%x==0:
        print("factor")
    elif x>y and x%y==0:
        print("multiple")
    else:
        print("neither")