분류 전체보기 83

[백준] 2941번 파이썬 python(크로아티아 알파벳)

▷ 문제 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다. ▷ 전체 코드 x = input() y = ["c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="] for i in y: x = x.replace(i, "a") print(len(x)) ▷ 코드 분석 x = ..

[백준] 1157번 파이썬 python(단어 공부)

▷ 문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. ▷ 전체 코드 x = input().upper() y = list(set(x)) y_list = [] for i in y: count = x.count(i) y_list.append(count) if y_list.count(max(y_list)) > 1: print("?") else: y_max = y_list.index(max(y_list)) print(y[y_max]) ▷ 코드 분석 x = input().upper() y = list(set(x)) 변수 x에 입력한 문자열을 대문자로 저장한다. input() 함수를 사용해 입력 받은 ..

[백준] 10988번 파이썬 python(팰린드롬인지 확인하기)

▷ 문제 알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 이 단어가 팰린드롬인지 아닌지 확인하는 프로그램을 작성하시오. 팰린드롬이란 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어를 말한다. level, noon은 팰린드롬이고, baekjoon, online, judge는 팰린드롬이 아니다. ▷ 전체 코드 x = list(input()) y = x[::-1] if x == y: print(1) else: print(0) ▷ 코드 분석 x = list(input()) y = x[::-1] list() 함수를 사용해서 리스트 x에 input() 함수로 입력받은 문자열을 하나하나 분리하여 리스트에 저장한다. 리스트 y에는 [::-1]을 사용해 리스트 x를 뒤집은 값을 저장한다. if x == y: print..

[백준] 2444번 파이썬 python(별 찍기 - 7)

▷ 문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. ▷ 전체 코드 N = int(input()) for i in range(1, N): print(" "*(N-i) + "*"*(2*i-1)) for j in range(N, 0, -1): print(" "*(N-j) + "*"*(2*j-1)) ▷ 코드 분석 N = int(input()) 변수 N에 입력한 수를 저장한다.input() 함수를 사용해서 입력한 요소를 문자열로 변수에 저장한다. int() 함수를 사용해서 변수에 저장된 문자열을 정수형으로 변환한다. for i in range(1, N): print(" "*(N-i) + "*"*(2*i-1)) for 문을 사용해 1에서 N-1까지 i에 넣는 반복문을 만든다. print() 함수를 사용해 ..

[백준] 11718번 파이썬 python(그대로 출력하기)

▷ 문제 입력 받은 대로 출력하는 프로그램을 작성하시오. ▷ 전체 코드 import sys x = sys.stdin.readlines() for i in x: print(i.strip()) ▷ 코드 분석 import sys sys 모듈을 삽입한다. s = sys.stdin.readlines() 리스트 s에 sys.stdin.readlines() 함수를 사용해 ^z 또는 control+z를 누르기 전까지 계속 입력 받은 문자를 저장한다. for i in s: print(i.strip()) for 문을 사용해 리스트 s에 저장된 문자열의 개수만큼 반복되는 반복문을 만든다. sys.stdin.readlines() 함수를 사용해 여러 줄의 문자열을 입력 받으면 줄바꿈 문자(\n)가 포함된 채로 리스트에 저장된다..

[머신러닝 이론] Linear Regression(선형 회귀)

이 글은 모두의 딥러닝 시즌1을 기반으로 작성한 글입니다. [머신러닝 이론] Machine Learning 개념 이 글은 모두의 딥러닝 시즌1을 기반으로 작성한 글입니다. 머신러닝은 사람이 하나하나 프로그래밍 하지 않고 컴퓨터가 스스로 학습하는 것을 말한다. 크게 Supervised Learning과 Unsupervised Learning으 chaerrylog.tistory.com 저번 글에서 머신러닝의 지도학습과 비지도학습에 대해서 알아보고, 훈련 데이터셋과 테스트 데이터셋을 비교했다. 또한 지도학습시, 출력값에 따라 회귀와 분류로 구분할 수 있다는 것을 설명했다. 이번 글에서는 회귀 방법 중 선형 회귀에 대해서 자세하게 알아보겠다. Linear Regression Regression(회귀)은 기존 데..

[백준] 3003번 파이썬 python(킹, 퀸, 룩, 비숍, 나이트, 폰)

▷ 문제 동혁이는 오래된 창고를 뒤지다가 낡은 체스판과 피스를 발견했다. 체스판의 먼지를 털어내고 걸레로 닦으니 그럭저럭 쓸만한 체스판이 되었다. 하지만, 검정색 피스는 모두 있었으나, 흰색 피스는 개수가 올바르지 않았다. 체스는 총 16개의 피스를 사용하며, 킹 1개, 퀸 1개, 룩 2개, 비숍 2개, 나이트 2개, 폰 8개로 구성되어 있다. 동혁이가 발견한 흰색 피스의 개수가 주어졌을 때, 몇 개를 더하거나 빼야 올바른 세트가 되는지 구하는 프로그램을 작성하시오. ▷ 전체 코드 x = [1, 1, 2, 2, 2, 8] y = list(map(int, input().split())) for i in range(6): print(x[i]-y[i], end=" ") ▷ 코드 분석 x = [1, 1, 2, ..

[머신러닝 이론] Machine Learning 개념

이 글은 모두의 딥러닝 시즌1을 기반으로 작성한 글입니다. Supervised Learning VS Unsupervised Learning 머신러닝은 사람이 하나하나 프로그래밍 하지 않고 컴퓨터가 스스로 학습하는 것을 말한다. 크게 Supervised Learning과 Unsupervised Learning으로 분류할 수 있다. Supervised Learning(지도 학습)은 모델에 label이 있는 데이터를 학습시키는 방법이고 Unsupervised Learning(비지도 학습)은 모델에 label이 없는 데이터를 학습시키는 방법이다. Train Dataset VS Test Dataset 이 때 데이터셋을 Train Dataset과 Test Dataset으로 분류할 수 있다. Train Dataset..

[딥러닝 이론] Artificial Neural Network(인공신경망)

이 글은 모두의 딥러닝 시즌1을 기반으로 작성한 글입니다. 인간의 신경계를 구성하는 세포인 뉴런을 기반으로 단일 뉴런 연산을 만들었다. 위에 사진은 뉴런 n개를 연결한 것이다. 입력x에 가중치w를 곱한 값에 bias를 합한 값들을 모두 더한 뒤, 그 값이 Activation function의 임계치에 도달하면 1로 출력되고 임계치의 도달하지 못하면 0으로 출력된다. 이것을 하나의 노드라고 한다. 위에서 설명한 노드들을 여러 layer로 연결한 것이 Artificial Neural Network이다. 하지만 이 Neural Network는 OR이나 AND 문제는 풀 수 있지만 XOR 문제는 풀 수 없다. 따라서 XOR 문제를 풀기 위한 방법이 제시되었는데 그것이 바로 Backpropagation이다. Ba..