728x90

Python 72

[Python]백준 BaekJoon.AC 4153 : 직각삼각형(while, 제곱)

https://www.acmicpc.net/problem/4153 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net **은 제곱을 의미한다! while True: tri = list(map(int, input().split())) if tri[0] == 0: break tri.sort() if tri[2]**2 == (tri[0]**2 + tri[1]**2): print("right") else: print("wrong")

[Python]BaekJoon.AC 2022.01.04

[Python]백준 BaekJoon.AC 1085 : 직사각형에서 탈출(min())

https://www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램 www.acmicpc.net x, y, w, h = map(int, input().split()) print(min(min(x, w-x), min(y, h-y)))

[Python]BaekJoon.AC 2022.01.04

[Python]백준 BaekJoon.AC 1546 : 평균(list, sort())

https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net N = int(input()) scores = list(map(int, input().split())) scores.sort(reverse=True) M = scores[0] sum = 0 for x in scores: sum = sum + (x / M * 100) print(sum/N)

[Python]BaekJoon.AC 2022.01.03

[Python]백준 BaekJoon.AC 1157 : 단어 공부(딕셔너리, sorted())

https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 단어개수에 따라 내림차순으로 정렬하고 싶었는데, 가장 큰 수의 스펠링을 알아내기 위해 딕셔너리를 사용했다. 딕셔너리를 처음 사용해봤는데, 이것도 신기하면서도 편리하다.. 앞서 배웠던 find()에서 착안해 count()를 사용해 알파벳마다 해당하는 단어 개수를 넣어줬다. sorted()를 이용해 내림차순으로 정렬하고(sort 함수는 사용할 수 없었다. 딕셔너리 안받아줌..), 리스트가 되어버린 newD를 이차원 리스트 취급...?..

[Python]BaekJoon.AC 2022.01.03

[Python]백준 BaekJoon.AC 10809 : 알파벳 찾기(find())

https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 파이썬은 확실히 내장함수가 너무 잘 되어있는 것 같다. 20가지가 넘는 알파벳 배열을 어떻게 대체해야 하나 고민하고 있었는데,, 그냥 String 입력 받아 그대로 list함수에 넣어주면 끝나는 문제였다. 그리고 find()를 사용한다면 입력받은 단어 스펠링이 몇 번째 알파벳인지 쉽게 파악할 수 있었다. 파이썬 맞춤 문제가 아니었을까..? for문으로 하나하나 찾을 생각하고 있었는데...

[Python]BaekJoon.AC 2022.01.03

[Python]백준 BaekJoon.AC 8958 : OX퀴즈(for문)

https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 슬슬 문제가 까다로워지기 시작한 느낌..? for문과 if문을 여러번 쓰기 시작했다ㅎㅎ string을 입력받아 각각 쪼개 list에 넣어야 했다. map도 써봤다가, split도 써봤다가, 모두 안되길래 찾아봤다. 그냥 input을 받으면 쪼개지는 거였다. 앞선 문제 풀 때 생각했던 점인데.. 잘 기억해둬야겠다. T = int(input()) for i in range(T): ..

[Python]BaekJoon.AC 2022.01.03

[Python]백준 BaekJoon.AC 3052 : 나머지(list, set)

https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net for문을 이용해 list에 숫자 10개를 저장해줬고, set으로 타입을 변경해줬다. set은 중복을 알아서 제거해주기 때문이다. 글을 작성하며 든 생각인데, 애초에 set에 숫자를 받아도 됐을 것 같다..? list = [] for i in range(10): list.append(int(input()) % 42) over = set(list) print(len(over))

[Python]BaekJoon.AC 2022.01.03

[Python]백준 BaekJoon.AC 2920 : 음계(list)

https://www.acmicpc.net/problem/2920 2920번: 음계 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8 www.acmicpc.net hmm... 완성하고 보니 좀 복잡해보이긴 하다만... 다른 사람 코드 그냥 패스.. 겉 if문 대신 switch문을 사용하고 싶었는데, 파이썬에는 switch가 없었다...! 그냥 if 사용해 분류해줬다. A = list(map(int, input().split())) if A[0]==1: for i in range(1, 8): if A[i]-1 != A..

[Python]BaekJoon.AC 2022.01.02

[Python]백준 BaekJoon.AC 2908 : 상수(slice([::-1]), reverse())

https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net [::-1]는 String이나 리스트 등에 적용하면 이를 간단히 뒤집어준다. int는 안된다.. [start : stop : step] 형식으로 사용하고 for문 range() 조건처럼 생각하면 쉽다. 원래 입력값을 리스트에 넣고 reverse()를 이용해 뒤집으려 하였으나, 이거 하나 하자고 리스트에 넣기가...? 싫었다..ㅎ reverse()는 String은 뒤집어주지 않기에.. 원한다면 A = list(..

[Python]BaekJoon.AC 2022.01.02
728x90