전체 글 120

백준 2941 크로아티아 알파벳 - python

출처 :https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net a = input() croa = ['c=','c-','dz=','d-','lj', 'nj', 's=', 'z='] cnt = 0 for i in croa: a =a.replace(i, '*') print(len(a)) 풀이 : replace를 떠올리면 된다. 그냥 늘 하던대로 받아와서 replace로 바꾼 부분은 *표시해준다.

백준 5622 다이얼 - python

출처: https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 풀이 : a = input() group = ['ABC','DEF','GHI','JKL','MNO','PQRS','TUV','WXYZ'] ans = 0 for i in a: for j in group: if i in j: ans += group.index(j) ans = 3*len(a) + ans print(ans) 풀이가 좀 다른 사람들이랑 다를 거 같았는데 그냥 똑같아서 당황스럽다. 1 . input 과 group 으로 알파벳을 받아온다 이렇게 group으로 받아오면 값..

백준 2908 상수 - python

출처 : https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 풀이 : a,b = list(input().split()) re_1 = a[2] + a[1] + a[0] re_2 = b[2] + b[1] + b[0] if int(re_1) > int(re_2): print(int(re_1)) else : print(int(re_2)) 1. a, b 따로 입출력 받아온다. 2. 그리고 str로 받아왔으므로 문자열 각각을 리스트로 불러 올 수 있다. 그래서 a[2] ..

코딩테스트 2022.01.03

2.1 딥러닝

2.1 딥러닝이란?머신러닝에서 설명 했듯이 보통 비정형데이터(영상,언어) 같은 것에 사용하고 분석가의 개입없이 오로지 컴퓨터에게 설명을 맡긴다.ex) 이미지에 대해서는 잘 아니까 음성 인식 시스템에 대해 설명해보자.전통 : 임의로 생성한 특징 오디오에서 추출, 음소라고 불리는 발음의 기본 요소를 인식해서 인식된 음소를 나열한 후 텍스트 문장으로 전환현재 : 음성이 음력되면 바로 출력까지 뉴럴네트워크가 작동(오 개쩌네?) 2.2 딥러닝 발전과정2.2.1 퍼셉트론(perceptron)사람의 뇌에는 뉴런이 존재.딥러닝도 이와 유사하게 퍼셉트론이 뉴런의 역할을 한다.뉴런과 마찬가지로 데이터를 입력받아 가중히와 입력값을 조합하여 다음 퍼셉트론으로 전달하는 구조그림을 하나하나 뜯어보자.x는 입력신호, y는 출력값,..

DL 2022.01.03

[딥러닝]역전파 - Back Propagation

0. 학교에서 역전파 알고리즘을 배우고 손으로 직접 계산까지해보고 과제풀이도 하고 시험에도 출제되었다.다층 퍼셉트론에 대해 간략히 쓰다가 역전파에 대해서 간단하게 설명이 막혀버려서 ... 이렇게 글을 쓴다. 생각보다 마무리 부분을 더 잘 쓴거 같다. 그냥 계산 과정 보기 싫으면 마무리만 보면 핵심만 요약 했다.너무 복잡하고 내가 직접한 것은 올리긴했지만 그래도 컴터로 작업하는건 너무 힘들어서 참고좀 했다... 감사합니다...어떤 싸움을 해오신겁니까출처 : https://wikidocs.net/37406 1. Feed Forward(순전파) 다음 그림에서 순전파를 진행하겠다.처음에는 가중치 값을 랜덤하게 준다.각 입력은 입력층에서 은닉층 방향으로 향하면서 각 입력에 해당하는 가중치와 곱해지고, 결과적으로 ..

DL 2022.01.03

1.2.6 성능 지표

성능 지표 : 학습이 완료된 모델의 성능을 평가하고자 검증 및 테스트 데이터로 측정하고 모니터링 하는 수단.참고로... 학교에서 교수님이 설명도 해주시고 adsp 공부할때도 달달 외웠는데... 면접가서 제대로 대답하지 못해서 머리에 깊게 박힌 개념이다. 회귀MSEMSE=1n∑i=1n(yi−y^i)2MSE = \frac{1}{n}\sum_{i=1}^n(y_i - \hat{y}_i)^2MSE=n1​i=1∑n​(yi​−y^​i​)2MAPE실제값 대비 오차의 정도를 퍼센트 값으로 나타내기 때문에 출력값의 단위에 영향을 받지않는다.MAPE=1n∑i=1n∣yi−y^i∣yiX100MAPE = \frac{1}{n}\sum_{i=1}^n \frac{|y_i - \hat{y}_i|}{y_i} X100MAPE=n1​i=1∑..

ML 2022.01.03

1.2.5 과적합과 모델 학습법

과적합을 조심해야 하는 이유과적합 : 갖고 있는 트레인 데이터를 과하게 학습시켜 트레인 데이터에서는 성능이 좋지만, 테스트 데이터에서 성능이 떨어지는 경우과적합이 발생하는 이유 데이터 수가 적어서입력 변수의 개수가 많은 경우복잡한 모델을 사용한 경우 우리가 사용한 모형이 과소적합인지 과대적합인지 판단하기는 어렵다.따라서 우리는 학습, 검증, 평가 세 부분으로 나눠서 테스트한다Train : 모델을 학습시키기 위한 데이터Validation: 모델의 성능을 조정하기 위한 용도로 과적합 판단을 하거나 HyperParameter를 선택하기 위한 데이터Test : 최종적으로 결정된 모델의 성능을 측정하는 데이터. 그냥 나중에 loss 값을 확인할 때 밑에 그림에서처럼 적절한 값 찾아주면 된다. Uploaded by..

ML 2022.01.03

1.2.4 비지도학습

비지도학습은 정답 혹은 레이블이 주어지지 않은 상태에서의 학습 방법. 군집화(clstering)데이터를 분류하기 위한 명확한 기준이 존재하지 않은 상태에서 특징이 유사한 데이터끼리 묶어 여러 개의 군집으로 나누는 방법군집의 개수는 사전의 정의하거나 군집 정도를 나타내는 지표(Dunn Index, Silhouette)등을 이용할 수 있다.군집 내 응집도 최대화 : 동일한 군집에 소속된 개체들은 서로 유사할수록 좋음군집 간 분리도 최대화 : 상이한 군집에 소속된 개체들은 서로 다를수록 좋음대표적인 방법론 : k-Means Clustering, Hierarchical Clustering, Density-Based Spatial Clustering of Application with Noise(DBSCAN) 차..

ML 2022.01.03

백준 1152 단어의 개수

출처 : https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 풀이 : a = list(input().split()) print(len(a)) 허허... 그냥 자려다가 실버 찍기 일보직전이라 찍고 잔다 일주만에 찍었으니 골드 빨리가보장

백준 1157 단어공부 - python

출처: https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 풀이 word = input().upper() unique_word = list(set(word)) cnt_list = [] for i in unique_word: cnt = word.count(i) cnt_list.append(cnt) if cnt_list.count(max(cnt_list)) >= 2: print('?') else : 위치 = cnt_list.index(max(cnt_list)) print(unique_..