알고리즘

Python/Study

[Python / Study] 지도학습과 비지도학습

1. 지도학습 지도학습은 정답이 있는 데이터를 활용해 데이터를 학습시키는 것입니다. 입력 값 (X data)이 주어지면 입력 값에 대한 Label (Y data)를 주어 학습시키며 대표적으로 분류, 회귀가 있습니다. 분류는 입력 데이터를 미리 정의된 여러 클래스 중 하나로 할당하는 문제입니다. 예를 들어, 스팸 메일 분류 문제는 이메일을 스팸 또는 스팸이 아닌 것으로 분류하는 것입니다. 회귀는 입력 데이터와 출력 데이터 간의 관계를 모델링하는 문제입니다. 예를 들어 집의 크기와 가격 사이의 관계를 모델링하는 것입니다. 2. 비지도학습 비지도학습은 정답이 없는 데이터를 학습시키는 것입니다. 입력 데이터만 주어지며, 이를 이용해 데이터의 구조나 패턴을 찾아내는 것입니다. 대표적인 예로는 군집화와 차원 축소가..

Python/Baekjoon

[Python / Baekjoon] 6단계 심화 1 # 2444 별 찍기 -7 백준 알고리즘 문제 풀이

1. 2444 별 찍기 -7 문제 https://www.acmicpc.net/problem/2444 2444번: 별 찍기 - 7 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 백준 2444번 별 찍기 문제입니다. 전에도 별 찍는 문제를 풀었었는데 이번 문제는 제 수준에선 많이 어려웠습니다. 거의 2시간을 혼자 고민했었네요. 숫자가 주어지면 다이아몬드 형식으로 별을 찍는 문제입니다. 2. 풀이 과정 먼저 맨 처음 작성했던 코드를 보겠습니다. 코드 N = int(input()) B = [] for i in range(1, N * 2, 2): star = '*' * i B.append(star) # 별 추가 for i in range(len(B)): print(B[i]..

Python/Baekjoon

[Python / Baekjoon] 5단계 문자열 알고리즘 문제 풀이 (27866, 2743, 9086, 11654, 11720, 10809, 2675, 1152, 2908, 5622)

파이썬 백준 5단계 문자열 알고리즘 문제를 풀어보았습니다. # 27866 문자와 문자열 문자열을 인덱스로 출력하는 문제입니다. S = input() i = int(input()) print(S[i-1]) 파이썬은 0부터 인덱스가 시작하기 때문에 -1을 하였습니다. 문제는 쉽기 때문에 한 번에 풀었습니다. # 2743 단어 길이 재기 문자열의 길이를 출력하는 문제입니다. print(len(input())) input()으로 입력할 시에 자동으로 문자열이 되기 때문에 len()으로 길이를 출력했습니다. 쉬운 문제여서 한 번에 맞췄습니다. # 9086 문자열 문자열의 첫 문자와 마지막 문자를 출력하는 문제입니다. T = int(input()) for i in range(T): a = input() print(..

Python/Baekjoon

[Python / Baekjoon] 4단계 1차원 배열 알고리즘 문제 풀이 (10807, 10871, 10818, 2562, 10810, 10813, 5597, 3052, 10811, 1546)

백준 4단계 1차원 배열 알고리즘 문제를 풀어보도록 하겠습니다. # 10807 개수 세기 입력된 정수 중에서 해당되는 정수가 몇 개인지 출력하는 문제입니다. N = int(input()) num = map(int, input().split()) v = int(input()) result = 0 for i in range(N): if v in num: #정수 v가 num 안에 있으면 result += 1 print(result) 저는 result 변수를 만든 후 정수 v가 안에 있으면 1씩 더하는 방식을 사용했습니다. 위에 코드처럼 문제를 푼 후 더 짧게 할 방법을 생각해서 줄였습니다. 코드 길이가 50 가까히 줄었습니다. # 10871 X보다 작은 수 수열에서 정수 X보다 작은 수를 출력하는 문제입니다...

Python/Baekjoon

[Python / Baekjoon] 3단계 반복문 알고리즘 문제 풀이 (2739, 10950, 8393, 25304, 25314, 15552, 11021, 11022, 2438, 2439, 10952, 10951)

이번에는 파이썬 백준 3단계 조건문 알고리즘 문제를 풀어보았습니다. # 2739 구구단 입력값을 바탕으로 구구단을 출력하는 문제입니다. N = int(input()) for i in range(1, 10): print(f"{N} * {i} = " + str(N * i)) 입력받은 정수형 수를 N 변수에 저장한 후 반복문을 바탕으로 구구단이 나오게 출력했습니다. 저는 f-string formatting 방식이 익숙해서 사용했습니다. 반복문을 배울 때 풀어봤던 문제라 쉽게 풀었습니다. # 10950 A+B -3 입력받은 두 정수로 더한 값을 출력하는 문제입니다. T = int(input()) # 반복할 횟수 for i in range(T): A, B = map(int, input().split()) # 두 ..

Python/Baekjoon

[Python / Baekjoon] 2단계 조건문 알고리즘 문제 풀이 (1330, 9498, 2753, 14681, 2884, 2525, 2480)

백준 문제 2단계 조건문 알고리즘 문제를 풀어보도록 하겠습니다. # 1330 두 수 비교하기 정수 A, B를 입력한 후 두 수를 비교하여 출력하는 문제입니다. A, B = map(int, input().split()) if A > B: print('>') elif A < B: print('' 출력, A가 B보다 작으면 '

Python/Baekjoon

[Python / Baekjoon] 1단계 입출력과 사칙연산 알고리즘 문제 풀이 (2557, 1000, 1001, 10998, 1008, 10869, 10926, 18108, 10430, 2588, 11382, 10171, 10172)

백준 1단계 입출력과 사칙연산 풀이를 하였습니다. # 2557 Hello World 2557번 문제는 Hello Wordl!를 출력하는 문제입니다. print("Hello World!") print() 함수를 사용하여 "Hello Wordl!"를 출력하였습니다. 도전 3번만에 맞췄습니다. 대, 소문자로 한 번 틀리고 느낌표를 넣지 않아서 한 번 틀렸습니다. # 1000 A+B 1000번 문제는 정수 A와 B를 입력받아 더하여 출력하는 문제입니다. A, B = map(int, input().split()) # 입력 방식: 1 2 print(A+B) 저는 map() 함수를 사용하여 입력하는 값에 int형을 부여했습니다. 그리고 input() 함수로 입력값을 받은 뒤 split() 함수를 사용하여 공백을 기준..

Sukyung Jang
'알고리즘' 태그의 글 목록