Algorithm/SW Expert Amademy

    SWEA 1974. 스도쿠 검증 (파이썬)

    SWEA 1974. 스도쿠 검증 (파이썬)

    문제 제약 사항 1. 퍼즐은 모두 숫자로 채워진 상태로 주어진다. 2. 입력으로 주어지는 퍼즐의 모든 숫자는 1 이상 9 이하의 정수이다. 입력 입력은 첫 줄에 총 테스트 케이스의 개수 T가 온다. 다음 줄부터 각 테스트 케이스가 주어진다. 테스트 케이스는 9 x 9 크기의 퍼즐의 데이터이다. 출력 테스트 케이스 t에 대한 결과는 “#t”을 찍고, 한 칸 띄고, 정답을 출력한다. (t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.) 문제에 대한 모든 권리는 SW Expert Academy에게 있습니다 아이디어 랄 건 없다... 그냥 가로, 세로, 3*3 각각 확인해주면 된다. ㅎㅎ 대신 세로를 확인할 때에는 굳이 어렵게 행을 바꿔가며 세지 않고, 가로와 세로를 뒤바꾼 전치행렬을 만들어서 처리했다. ..

    SWEA 1208. Flatten (파이썬)

    SWEA 1208. Flatten (파이썬)

    문제 한 쪽 벽면에 다음과 같이 노란색 상자들이 쌓여 있다. 높은 곳의 상자를 낮은 곳에 옮기는 방식으로 최고점과 최저점의 간격을 줄이는 작업을 평탄화라고 한다. 평탄화를 모두 수행하고 나면, 가장 높은 곳과 가장 낮은 곳의 차이가 최대 1 이내가 된다. 평탄화 작업을 위해서 상자를 옮기는 작업 횟수에 제한이 걸려있을 때, 제한된 횟수만큼 옮기는 작업을 한 후 최고점과 최저점의 차이를 반환하는 프로그램을 작성하시오. (출제 사이트로 가서 이미지 설명을 참고하세요) 제약 사항 가로 길이는 항상 100으로 주어진다. 모든 위치에서 상자의 높이는 1이상 100이하로 주어진다. 덤프 횟수는 1이상 1000이하로 주어진다. 주어진 덤프 횟수 이내에 평탄화가 완료되면 더 이상 덤프를 수행할 수 없으므로 그 때의 최..

    4835. 파이썬 S/W 문제해결(알고리즘) | 구간합

    4835. 파이썬 S/W 문제해결(알고리즘) | 구간합

    문제 4835 [입력] 첫 줄에 테스트 케이스 개수 T가 주어진다. ( 1 ≤ T ≤ 50 ) 다음 줄부터 테스트케이스의 첫 줄에 정수의 개수 N과 구간의 개수 M 주어진다. ( 10 ≤ N ≤ 100, 2 ≤ M < N ) 다음 줄에 N개의 정수 ai가 주어진다. ( 1 ≤ a ≤ 10000 ) [출력] 각 줄마다 "#T" (T는 테스트 케이스 번호)를 출력한 뒤, 답을 출력한다. 출처 SWEA 문제에 대한 모든 권리는 SW Expert Academy에게 있습니다. 2월 10일에 풀었을 때에는 구간합을 컨테이너(리스트)에 담아서 다시 for문을 돌려 최댓값과 최솟값을 구하는 방식으로 문제를 해결했다. 오늘 수업을 통해 최댓값이나 최솟값을 구해야하는 대상이 주어지지 않은 상황이라면! 즉, 이 문제처럼 계..

    6209, 6216. 파이썬 연산자 연습 문제

    6209, 6216. 파이썬 연산자 연습 문제

    문제 6209 화씨(℉)를 섭씨(℃)로 변환하는 프로그램을 작성하십시오. 이 때 물의 빙점은 화씨 32도이고 비등점은 화씨 212도(표준 기압에서)입니다. 물의 비등점과 빙점 사이에 정확하게 180도 차이가 납니다. 그러므로 화씨 눈금에서의 간격은 물의 빙점과 비등점 사이의 간격의 1/180입니다. [입력] 82 [출력] 82.00 ℉ => 27.78 ℃ 출처 SW Expert Academy 푼 줄 알았는데....?... 흠 무튼 화씨랑 섭씨 변환식을 까먹어서 VSCode를 계산기처럼 활용해서 ㅋㅋ 차이를 찾고 계산했다. F = int(input()) C = (F - 32) / 1.8 print(f'{F:.2f} ℉ => {C:.2f} ℃') 수업시간에 f-string을 자주 봐서 f-string을 활용..

    6206. 파이썬 연산자 연습 문제

    6206. 파이썬 연산자 연습 문제

    문제 6206 킬로그램(kg)를 파운드(lb)으로 변환하는 프로그램을 작성하십시오. 이 때 1 킬로그램은 2.2046 파운드입니다. [입력] 90 [출력] 90.00 kg => 198.41 lb 출처 SW Exeprt Academy 오랜만에 푸는 SWEA 문제! 이제 이정도 문제는 쉽게 풀..풀어야하는데 띄어쓰기 때문에 또 여러번 틀렸 ^_ㅠ 1차 시도 Fail(오답) K = float(input()) lb = K * 2.2046 print(f'{K:.2f} kg => {lb:.2f}') 맨 뒤에 lb 단위를 빼먹었다; ㅋㅋ 2차 시도 Fail(오답) K = float(input()) lb = K * 2.2046 print(f'{K:.2f} kg => {lb:.2f} lb') 3차 시도 Fail(오답) ..

    6314. 파이썬 내장함수 연습문제 2

    6314. 파이썬 내장함수 연습문제 2

    문제 6314 1~10까지의 정수를 항목으로 갖는 리스트 객체에서 filter 함수와 람다식을 이용해 짝수만을 선택해 리스트를 반환하는 프로그램을 작성하십시오. [출력] [2, 4, 6, 8, 10] ㅎㅎㅎ 이것도 쉬워보여서 픽! 생각보다 술술 풀린다 ㅎㅎㅎ 일단 VSC에서 혼자서 했던 0차 코드 (에러) # 1~10까지의 정수를 항목으로 갖는 리스트 객체 list1 = list(range(1, 11)) print(list1) list1_even = list(filter(lambda : x % 2 ==0, list1)) print(list1_even) 다 잘했는데, lambda 함수에서 틀렸음 ㅠㅠ lambda x : x관련 식 이렇게! 1차 시도 Fail(오답) list1 = list(range(1, ..

    6313. 파이썬 내장함수 연습문제 1

    6313. 파이썬 내장함수 연습문제 1

    문제 6313 ASCII 코드 값를 입력받아 문자를 확인하는 코드를 작성하십시오. [입력] 65 [출력] ASCII 65 => A 출처 SW Expert Academy ㅎㅎ 쉬운 문제라서 선택했다. 노션 필기에 ASCII 코드 검색했는데 안 떠서 구글링 해보니 유니코드랑 같은 말인가봐...? chr(), ord()함수가 관련있는 거더라고. 여기서는 숫자를 입력 받아서 아스키코드(문자)로 출력해야하니까 chr() 함수를 쓰면 됐다. 1차 시도 Pass A = int(input()) print("ASCII {0} => {1}".format(A, chr(A))) 한방에 패쓰...! 이제 "".format()은 어떻게 쓰는지 완전히 익힌듯 !! 꺆

    6319. 파이썬 함수 연습문제 2

    6319. 파이썬 함수 연습문제 2

    문제 6319 다음의 결과와 같이 반목문을 이용해 단어의 순서를 거꾸로 해 반환하는 함수를 작성하고 그 함수를 이용해 회문(앞뒤 어느 쪽에서도 같은 단어, 말) 여부를 판단하는 코드를 작성하십시오. [입력] eye [출력] eye 입력하신 단어는 회문(Palindrome)입니다. 출처 SW Expert Academy 함수 : 반복문을 사용 >> 단어 거꾸로 함수를 이용해 회문 판단 이렇게라서 일단 1) 입력값을 위한 변수 선언 2) 글자를 거꾸로 반환하도록 for문을 반환하는 함수 작성 - 문자열도 더하기가 되니까, 누적해서 더해보자! 3) 누적해서 더한 결과랑 처음 입력값과 비교해서 4) 일치하는지 판단하자 라고 생각했다. 처음 짜본 코드는 S = input() #문자열을 넣으니까 따로 포맷팅 필요 X..

    6220. 파이썬 if문 연습문제

    6220. 파이썬 if문 연습문제

    문제 6220 다음의 결과와 같이 입력된 영어 알파벳 문자에 대해 대소문자를 구분하는 코드를 작성하십시오. 입력 b 출력 b 는 소문자 입니다. 문제를 해결하려면 입력된 값(문자열)이 대문자인지 소문자인지 판별할 수 있어야 하는데, 어떤 함수(?)를 쓰면 좋을지 몰라서 검색했다! 그리고 찾은 글다양한 매소드(함수)로 문자열 판별하기 ~_~감삼ㄷㅏ! 내가 선택한 함수는 isupper() 1차 시도 Pass A = input() if A.isupper(): print("%s 는 대문자 입니다." % A) else: print("%s 는 소문자 입니다." % A) 따흐흑 한방에 패스라니 감격스럽다..일단 그 전의 문제와 다르게 이번 입력값은 문자열이 맞기 때문에 굳이 int()함수로 포맷을 알려줄 필요가 없다..