memostack
article thumbnail
백준 2798번 - 블랙잭 (Java 풀이)
Algorithm/Beakjoon 2020. 10. 23. 00:01

문제의 저작권은 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버전의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후에 딜러는 숫자 M을 크게 외친다. 이제 플레이어는 제한된 시간 안에 N장의 카드 중에서 3장의 카드를 골라야 한다. 블랙잭 변형 게임이기 때문에, 플레이어가 고른 카드의 합은 M을 넘지 ..

article thumbnail
백준 2606번 - 바이러스 (Java 문제 풀이)
Algorithm/Beakjoon 2020. 10. 19. 00:00

문제의 저작권은 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다. 예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 웜 바이러스에 걸리게 된다. 하지만 4번과 7번 컴퓨터는 1번 컴퓨터와 네트워크상에서 연결되어 있지 않기 때문에 영향을 받지 않는다. 어느 날 1번 컴퓨터가 웜 바이러스에 걸렸다. 컴퓨터의 수와 네트워크 상에서 서로 ..

article thumbnail
백준 Ex.2557번 - Hello World (JAVA)
Algorithm/Beakjoon 2020. 8. 26. 17:48

문제의 저작권은 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 Hello World!를 출력하시오. 예제 // Input // Output Hello World! Coding - Java 프로그래밍을 처음 배우면 가장 먼저 만들어보는 프로그램으로, 단순히 표준 출력을 이용하여 Hello World!를 찍어주면 된다. public class Main { public static void main(String[] args) { System.out.println("Hello World!"); } } 채점 결과 Reference https://www.acmicpc.net/problem/2557 2557번: Hello World Hello World!를 출력하시오. www.acm..

article thumbnail
백준 10996번 - 별 찍기 - 21 (Python3)
Algorithm/Beakjoon 2020. 6. 29. 20:55

본 문제는 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. 예제 # 입력 1 # 출력 * # 입력 2 # 출력 * * * * # 입력 3 # 출력 * * * * * * * * * Coding - Python3 규칙 찾기 n이 1일때는 별(*) 하나를 반환하다. 나머지 경우 (n이 2이상인 경우) 2*n 줄 만큼 별이 그려진다. 한 열의 길이는 n이다. 별(*)과 띄어쓰기( )가 번갈아가며 나온다. 홀수번째 줄은 별(*)부터 시작한다. 짝수번째 줄은 띄어쓰기( )부터 시작한다. # -*- coding: utf-8 -*- import sys def solution(k): if 1 == k: print("*") return r..

article thumbnail
백준 2446번 - 별 찍기 - 9 (with Python3)
Algorithm/Beakjoon 2020. 6. 23. 21:59

본 문제는 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. 예제 # 입력 5 # 출력 ********* ******* ***** *** * *** ***** ******* ********* Coding - Python3 상단, 하단을 나눠서 별을 찍는다. 규칙을 파악한다. 상단: 2 * n - 1 (n이 점차 감소) 만약 n = 5 라면, 9, 7, 5, 3, 1 하단: 2 * n - 1 (n이 점차 증가) 만약 n = 5 라면, 1, 3, 5, 7, 9 # -*- coding: utf-8 -*- import sys def solution(num): # 상단 별 for i in range(num, 0, -1): print..

article thumbnail
백준 2523번 - 별 찍기 - 13 (with Python3)
Algorithm/Beakjoon 2020. 6. 22. 21:05

본 문제는 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. 예제 # 입력 3 # 출력 * ** *** ** * Coding - Python3 for 문 2개를 이용해서 '상단 별'과 '하단 별'을 그린다. # -*- coding: utf-8 -*- import sys def solution(num): # 상단 별 for _ in range(num): print("*" * (_ + 1)) # 하단 별 for _ in range(num - 1, 0, -1): print("*" * _) if __name__ == "__main__": num = int(sys.stdin.readline()) solution(num) 비슷한 문제..

article thumbnail
백준 5543번 - 상근날드 (with Python3)
Algorithm/Beakjoon 2020. 6. 22. 20:42

본 문제는 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 상근날드에서 가장 잘 팔리는 메뉴는 세트 메뉴이다. 주문할 때, 자신이 원하는 햄버거와 음료를 하나씩 골라, 세트로 구매하면, 가격의 합계에서 50원을 뺀 가격이 세트 메뉴의 가격이 된다. 햄버거는 총 3종류 상덕버거, 중덕버거, 하덕버거가 있고, 음료는 콜라와 사이다 두 종류가 있다. 햄버거와 음료의 가격이 주어졌을 때, 가장 싼 세트 메뉴의 가격을 출력하는 프로그램을 작성하시오. 예제 # 입력 800 700 900 198 330 # 출력 848 # 입력 1999 1999 100 189 100 # 출력 150 Coding - Python3 버거 종류(첫번째, 두번째, 세번째 줄)에서 가장 작은 값을 고른다. 음료..

article thumbnail
백준 14681번 - 사분면 고르기 (with Python3)
Algorithm/Beakjoon 2020. 6. 22. 20:33

본 문제는 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다. 예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1사분면에 속한다. 점 B는 x좌표가 음수이고 y좌표가 양수이므로 제2사분면에 속한다. 점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표와 y좌표는 모두 양수나 음수라고 가정한다. 예제 # 입력 12 5 # 출력 1 # 입력 9 -13 # 출력 4 Coding - Python3 if문을 이용하여 x와 y..

article thumbnail
백준 15650번 - N과 M(2) - 순열 (with Python3)
Algorithm/Beakjoon 2020. 4. 3. 14:41

본 문제는 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 고른 수열은 오름차순이어야 한다. 예제 # 입력 4 2 # 출력 1 2 1 3 1 4 2 3 2 4 3 4 # 입력 4 4 # 출력 1 2 3 4 Coding - Python3 기본 순열 문제에서 코드 몇개만 수정하면 된다. 참고. 기본 순열 문제 2020/04/03 - [Algorithm/Beakjoon] - 백준 Ex.15649번 - N과 M(1) 순열 문제 (with Python3) 백준 Ex.15649번 - N과 M(1) 순열 문제 (with ..

article thumbnail
백준 15649번 - N과 M(1) 순열 문제 (with Python3)
Algorithm/Beakjoon 2020. 4. 3. 14:31

본 문제는 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 예제 # 입력 3 1 # 출력 1 2 3 # 입력 4 2 # 출력 1 2 1 3 1 4 2 1 2 3 2 4 3 1 3 2 3 4 4 1 4 2 4 3 Coding - Python3 대표적인 순열 문제로 푸는 방식만 익히면 쉽게 문제를 풀 수 있다. for 문을 이용하는 방식과 재귀함수를 이용하는 방식이 있는데, 재귀 함수로 푸는것이 이해하기 쉽다. 아래 코드는 stack 과 재귀 함수를 이용하여 문제를 풀었다. # -*- coding: utf-8 -..