본문 바로가기

알고리즘 문제풀이

(15)
알고리즘 문제풀이 사이트의 문제 저작권 1. 백준 온라인 저지 문제의 저작권은 문제를 만든 사람에게 있습니다. 소스 코드의 저작권은 소스 코드를 작성한 사람에게 있습니다. 문제의 본문을 블로그에 업로드하는 것 보다는 링크로 추가해주세요. BOJ를 활용한 인터넷 방송은 자유롭게 할 수 있습니다. 관련 링크 : https://www.acmicpc.net/help/rule 이용 규칙 블로그 블로그에는 지속적으로 의미를 가질 수 있는 다음과 같은 글을 올릴 수 있습니다. 아래는 예시이며 아래 적히지 않은 내용도 가능합니다. 알고리즘/자료구조 튜토리얼문제에 종속적이지 www.acmicpc.net 2. 프로그래머스 기업 코딩 테스트에 나왔던 문제의 지문, 테스트케이스, 힌트 등의 정보를 복제, 공중송신, 배포하거나 2차 저작물을 작성하는 등의 행위를 금..
마름모 구하기_for문 1 ~ 15 사이의 홀수만입력됩니다. 홀수 마름모를 그려주세요. 입력: 5 출력: * *** ***** *** * 친구들이랑 같이 풀었는데 다들 다르게 풀어서 여러 풀이를 올려봅니다! 1. *이 찍히기 시작할 start와 마지막 *의 위치 end, 그리고 *의 숫자가 증가하는지 여부 increase를 두고 if로 상황을 구분해 작성 n = int(input()) # 꽉 찰때까지 1개씩 앞으로 # 꽉 찰때 = 0일때 start = n//2 # 꽉 찰때까지 1개씩 뒤로 # 꽉 찰때 = start가 0 일때 end = n//2 increase = True for i in range(n): for j in range(5): if j==start: print("*" * (end-start+1), end="") p..
알파벳 3개의 단어 뽑기_3중 for문 대문자 알파벳 세 개로 만들수 있는 단어 전부를 출력한다. - 입력: 없음 - 출력 사전 순으로 줄 바꿈없이 한 칸의 공백을 두고 출력 - 입출력 예 입력: 없음 출력: AAA AAB AAC ... ZZZ # 아스키코드 65: A, 90: Z for i in range(ord('A'),ord('Z')): for j in range(ord('A'),ord('Z')): for k in range(ord('A'),ord('Z')): print(f'{chr(i)}{chr(j)}{chr(k)}', end=" ") ord : 문자를 아스키코드로 변환 chr : 아스키코드를 문자로 변환
로또 번호 뽑기 문제 로또 번호 6개와 보너스 번호 1개 구하기 중복은 허용하지 않는다. import random nums = random.sample(range(1,46), 7) print(nums[:-1]) print("bonus: ", nums[-1]) 출력
백준(BaekJoon) 3052번 1차원 배열_나머지 문제 https://www.acmicpc.net/problem/3052 3052번: 나머지 문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서�� www.acmicpc.net package baekjoon_7; import java.util.Scanner; public class CountDivision { public static void main(String[] args) { // get 10 numbers int num[] = new int[10]; Scanner input = new Scanner(System.in..
소수 구하기_for와 if문 1과 자기자신으로만 나누어 떨어지는 1~100 사이의 소수를 구해보자 for i in range(1,101): for j in range(2, i+1): if (j == i): print(i) elif (i % j == 0): break
백준(BaekJoon) 2577번 1차원 배열_숫자의 개수 문제 https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 같거나 크고, 1,000보다 작은 자연수이다. www.acmicpc.net package baekjoon_6; import java.util.Scanner; public class Count { public static void main(String[] args) { //get number A Scanner input = new Scanner(System.in); System.out.println("A를 입력하세요: "); int A = input.nextInt(); while(A = 1000) {..
width와 height를 입력받아 삼각형의 넓이를 구하시오. w = eval(input("width를 입력하세요.")) h = eval(input("height를 입력하세요.")) area = (w * h) / 2 print(area) 파이썬에서 input을 받으면 문자열(string)으로 받는다. 따라서 이를 숫자로 바꿔야 한다. eval: 들어온 것을 숫자로 바꿔준다. 정수/실수 다 가능 int: 들어온 것을 정수로 바꿔준다.