본문 바로가기
728x90

Data structure & Algorithm/Code up24

[Code up] 코드업 6085번 문제 풀이(Python) 코드업 6085번 문제: 그림 파일 저장용량 계산하기(Python) 🧩 문제 설명 이미지가 컴퓨터에 저장될 때에도 디지털 데이터화 되어 저장된다. 가장 기본적인 방법으로는 그림을 구성하는 한 점(pixel, 픽셀)의 색상을 빨강(r), 초록(g), 파랑(b)의 3가지의 빛의 세기 값으로 따로 변환하여 저장하는 것인데, 예를 들어 r, g, b 각 색에 대해서 8비트(0~255, 256가지 가능)씩을 사용한다고 하면, 한 점의 색상은 3가지 r, g, b의 8비트+8비트+8비트로 총 24비트로 표현해서 총 2^24 가지의 서로 다른 빛의 색깔을 사용할 수 있는 것이다. 그렇게 저장하는 점을 모아 하나의 큰 이미지를 저장할 수 있게 되는데, 1024 * 768 사이즈에 각 점에 대해 24비트로 저장하면 그 .. 2022. 7. 19.
[Code up] 코드업 6082번 문제 풀이(Python) 코드업 6082번 문제: 3 6 9 게임의 왕이 되자(Python) 📒 문제 설명 친구들과 함께 3 6 9 게임을 하던 영일이는 잦은 실수 때문에 계속해서 벌칙을 받게 되었다. 3 6 9 게임의 왕이 되기 위한 369 마스터 프로그램을 작성해 보자. ** 3 6 9 게임은? 여러 사람이 순서를 정한 후, 순서대로 수를 부르는 게임이다. 만약 3, 6, 9 가 들어간 수를 자신이 불러야 하는 상황이라면, 수를 부르는 대신 "박수(X)"를 쳐야 한다. 33과 같이 3,6,9가 두 번 들어간 수 일 때, "짝짝"과 같이 박수를 두 번 치는 형태도 있다. 입력 예시 30 보다 작은 정수 1개가 입력된다. (1 ~ 29) 9 출력 예시 1 2 X 4 5 X 7 8 X 😃 문제 풀이 n = int(input()) .. 2022. 7. 19.
[Code up] 코드업 6081번 문제 풀이(Python) 코드업 6081번 문제: 16진수 구구단 출력하기(Python) 🧩 문제 설명 16진수(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)를 배운 영일이는 16진수끼리 곱하는 16진수 구구단?에 대해서 궁금해졌다. A, B, C, D, E, F 중 하나가 입력될 때, 1부터 F까지 곱한 16진수 구구단의 내용을 출력해보자. (단, A ~ F 까지만 입력된다.) 입력 예시 B 출력 예시 B*1=B B*2=16 B*3=21 B*4=2C B*5=37 B*6=42 B*7=4D B*8=58 B*9=63 B*A=6E B*B=79 B*C=84 B*D=8F B*E=9A B*F=A5 😃 문제 풀이 a = int(input(), 16) for i in range(1, 16): print(.. 2022. 7. 19.
[Code up] 코드업 6078번 문제 풀이(Python) 코드업 6078번 문제: 원하는 문자가 입력될 때까지 반복 출력하기(Python) 📒 문제 설명 영문 소문자 'q'가 입력될 때까지 입력한 문자를 계속 출력하는 프로그램을 작성해보자. 입력 예시 x b k d l q g a c 출력 예시 x b k d l q 😃 문제 풀이 while True: a=input() print(a) if a =='q': break while 문을 이용해서 참일 경우에 계속 반복되도록 하고, input() 함수로 값을 입력받는다. 입력받은 값은 q가 나올 때까지 하나씩 출력해주며, 조건문 if를 이용하여 소문자 q가 나오면 break로 반복을 종료하고 끝낸다. 그러면 결론적으로 q까지 모든 입력 값들이 한 줄씩 출력되고 q가 나온 이후에는 출력이 종료된다. 2022. 7. 19.
[Code up] 코드업 6074번 문제 풀이(Python) 코드업 6074번 문제: 문자 1개 입력받아 알파벳 출력하기(Python) 📒 문제 설명 영문 소문자(a ~ z) 1개가 입력되었을 때, a부터 그 문자까지의 알파벳을 순서대로 출력해보자. 입력 예시 f 출력 예시 a b c d e f 😃 문제 풀이 alpha = input() n = ord(alpha) a = ord("a") for i in range(a, n+1): print(chr(i), end = " ") 알파벳 순서의 첫 번째인 a부터 입력받은 알파벳까지 순서대로 출력하기 위해서는 문자를 ordinal position(문자의 순서)을 나타내는 ord() 함수를 이용한다. input() 함수로 문자를 입력받고 문자의 순서를 n으로 저장한다. 처음부터 해당 문자까지를 모두 출력하기 위해서 첫 알파벳.. 2022. 7. 19.
[Code up] 코드업 6072번 문제 풀이(Python) 코드업 6072번 문제: 정수 1개 입력받아 카운트다운 출력하기1 (Python) 📒 문제 설명 정수(1 ~ 100) 1개가 입력되었을 때 카운트다운을 출력해보자. 입력 예시 5 출력 예시 5 4 3 2 1 😃 문제 풀이 n = int(input()) for i in range(n, 0, -1): print(i) for 문을 사용해서 n부터 1까지의 숫자를 순차적으로 출력한다. 이때, range()로 전체 문자의 범위를 설정하였다. range(시작 값, 끝 값, 단위) 이기 때문에 시작 값을 n, 끝 값을 0 (끝 값으로 지정한 직전의 값까지 산출한다. 즉, 0이면 1까지를 나타낸다.), 단위를 -1로 설정하여 n부터 0까지 하나씩 감소하는 형태로 출력한다. n = int(input()) while n .. 2022. 7. 19.
[Code up] 코드업 6071번 문제 풀이(Python) 코드업 6071번 문제: 0 입력될 때까지 무한 출력하기 (Python) 📒 문제 설명 임의의 정수가 줄을 바꿔 계속 입력된다. -2147483648 ~ +2147483647, 단 개수는 알 수 없다. 0이 아니면 입력된 정수를 출력하고, 0이 입력되면 출력을 중단해보자. 입력 예시 7 4 2 3 0 1 5 6 9 10 8 출력 예시 7 4 2 3 😃 문제 풀이 while True: n = int(input()) if n != 0: print(n) else: break 먼저, 입력 값을 하나씩 받기 위해서 값이 참일 때 계속 반복할 수 있도록 while True: 문을 사용한다. 구문이 반복될 때마다 input() 함수로 값을 하나씩 입력받는다. 이때, 0이 아니면 출력하고 0이면 종료하는 조건이 있기 .. 2022. 7. 18.
[Code up] 코드업 6064번 문제 풀이(Python) 코드업 6064번 문제: 정수 3개 입력받아 가장 작은 값 출력하기 (Python) 📒 문제 설명 입력된 세 정수 a, b, c 중 가장 작은 값을 출력하는 프로그램을 작성해보자. 단, 3항 연산을 사용한다. 입력 예시 3 -1 5 출력 예시 -1 😃 문제 풀이 a, b, c = map(int, input().split()) min_value = min(a, b, c) print(min_value) map 함수를 이용하여 3개의 정수를 입력받은 후 min() 함수로 세 정수의 최솟값을 간단하게 구할 수 있다. 그러나, 문제에서 3항 연산을 이용하라고 되어있기 때문에 3항 연산으로 산출해 본다. a, b, c = map(int, input().split()) min_value = (a if a < b el.. 2022. 7. 18.
[Code up] 코드업 6059번 문제 풀이(Python) 코드업 6059번 문제: 비트단위로 NOT 하여 출력하기 (Python) 📒 문제 설명 입력된 정수를 비트단위로 참/거짓을 바꾼 후 정수로 출력해보자. 입력 예시 2 출력 예시 -3 😃 문제 풀이 n = int(input()) print(~n) 문제 풀이 자체는 간단하지만, 비트 단위 연산자에 대해 이해하는 것이 중요하다. 비트 단위(Bitwise) 연산자 ~ bitwise not( 반대로 바꿔주는 연산자, 0 →1 / 1→0) & bitwise and( 0&0 → 0/ 0&1 → 0/ 1&0 → 0/ 1&1 →1 ) | bitwise or( 0&0 → 0/ 0&1 → 1/ 1&0 → 1/ 1&1 →1 ) ^ bitwise xor( 0&0 → 0/ 0&1 → 1/ 1&0 → 1/ 1&1 →0 ) bitw.. 2022. 7. 18.
[Code up] 코드업 6054번 문제 풀이(Python) 코드업 6054번 문제: 둘 다 참일 경우만 참 출력하기 (Python) 📒 문제 설명 2개의 정수 값이 입력될 때, 그 불 값이 모두 True 일 때에만 True를 출력하는 프로그램을 작성해보자. 입력 예시 1 1 출력 예시 True 😃 문제 풀이 a, b = map(int, input().split()) print(bool(a) and bool(b)) 두 불(Boolean) 값이 TRUE일 때만 TRUE를 출력하기 위해서는 AND 연산자가 필요하다. a b a AND b FALSE FALSE FALSE TRUE FALSE FALSE FALSE TRUE FALSE TRUE TRUE TRUE AND 연산자는 교집합과 같은 의미로 두 값 모두 같은 값일 때 해당 값을 출력하고, 다른 값이면 FALSE를 출.. 2022. 7. 18.
반응형