본문 바로가기

코딩 테스트/Python_백준88

[백준/Python] 14215번 세 막대 문제 ■ 14215번 세 막대 문제 ■ 코드 풀이 이 문제의 핵심은 값을 '줄이는' 것만 가능하고 늘리는 것은 불가능하다는 점입니다. 따라서, 주어진 세 값이 삼각형의 조건에 부합한다면 굳이 값을 줄일 필요 없이 그대로 출력하면 됩니다. 단, 삼각형의 조건에 부합하지 않는다면 조건에 맞게 가장 큰 값을 조절해 주면 됩니다. (참고로 삼각형의 조건은 가장 큰 값이 다른 두 값의 합보다 작아야 한다는 것입니다.) 가장 큰 값을 조절할 때는 최소한으로 조절해야 하므로, 다른 두 숫자의 합보다 딱 1만큼 작게 해 줍니다. num_list = sorted(list(map(int, input().split()))) if num_list[2] >= num_list[0] + num_list[1]: print(2*(num_l.. 2023. 4. 24.
[백준/Python] 5073번 삼각형과 세 변 문제 ■ 5073번 삼각형과 세 변 문제 ■ 코드 풀이 주의할 점은 두 가지입니다. 첫 번째, 주어진 값이 삼각형의 조건을 충족하는지를 가장 먼저 검사해야 합니다. 두 번째, 삼각형이라면 정삼각형인지, 이등변 삼각형인지 순으로 검사해야 합니다. 그렇지 않으면 위에서부터 아래로 실행하는 프로그래밍 언어 특성상 에러가 발생할 수 있습니다. while True: length = list(map(int, input().split())) if length[0] == length[1] == length[2] == 0: break max_value = length.pop(length.index(max(length))) if max_value >= length[0] + length[1]: print("Invalid") co.. 2023. 4. 23.
[백준/Python] 10101번 삼각형 외우기 문제 ■ 10101번 삼각형 외우기 문제 ■ 코드 풀이 이 문제에서 중요한 포인트는 조건의 순서입니다. 정삼각형은 'Equilateral'로 출력되어야 하지만, 이등변 삼각형 조건을 먼저 작성했다면 정삼각형이어도 'Isoscles'로 출력될테니까요. 그래서 가장 먼저, 세 각의 합이 180도인지를 확인하고 그 다음으로 정삼각형인지, 이등변 삼각형인지를 확인해야 합니다. A = int(input()) B = int(input()) C = int(input()) if (A+B+C) == 180: if (A==60) & (B==60): print('Equilateral') elif (A==B) | (B==C) | (A==C): print('Isosceles') else: print('Scalene') else: p.. 2023. 4. 22.