파이썬(19)
-
파이썬 정규식 표현
정규식은 주로 유효성 검사를 위해 사용하고 파이썬에서 정규식 사용을 위해 import re 해야한다. # - 하이픈은 from - to 를 나타낸다. # [a-zA-Z]는 알파벳 모두 # [0-9]는 숫자 모두 p = re.compile('[0-9]+') string = ['ct','ㅅ11','123'] for s in string: m = p.search(s) if m: print(f'{s}은 유효성 검사 통과') else: print(f'{s} 유효하지 않은 문자') output>> ct 유효하지 않은 문자 ㅅ11은 유효성 검사 통과 123은 유효성 검사 통과 # 꺽쇠 (^) 문자는 현재 정규식의 부적을 의미 # [^0-9]는 숫자를 제외한 모든 문자를 허용하는 정규식이다. p = re.compile..
2020.06.24 -
딕셔너리 개수 카운트, 정렬
딕셔너리를 이용해서 특정 문자나 숫자의 개수를 카운트 할 수 있다. cham = {} for i in num: if i not in cham: cham[i] = 1 else: cham[i] = cham[i]+1 input : 49679 output : {'4': 1, '9': 2, '6': 1, '7': 1} 딕셔너리 정렬은 operator 를 사용해서 할 수 있다. import operator num = input() cham = {} sdict= sorted(cham.items(), key=operator.itemgetter(1, 0), reverse=True) 정렬 조건으로 .items(), key=operator.itemgetter(1, 0), reverse=True 를 주었습니다. .items(..
2020.02.05 -
다음 큰 숫자
조건에 만족하는 수를 찾기 위해서 입력된 n을 파이썬 bin함수를 이용해 2진수로 변환해줬습니다. 2진수로 변환된 수에 몇개의 '1'이 포함되었는지 .count('1)로 확인해줬습니다. n을 증가시키며 2진수의 '1'의 수가 같은 다음 큰 숫자를 찾습니다. def solution(n): answer = 0 base = 2 a = bin(n) count_one = a.count('1') while 1: n += 1 if bin(n).count('1') is count_one: break answer = n return answer
2019.12.10 -
두 정수 사이의 합
입출력 예의 3번째처럼 a가 더 클 수도 있기 때문에 리스트에 넣고 sorted()를 사용해서 정렬했습니다. def solution(a, b): answer = 0 temp = [a, b] x = sorted(temp) a = x[0] b = x[1] for i in range(a, b+1): answer += i return answer
2019.12.03 -
같은 숫자는 싫어
프로그래머스 같은 숫자는 싫어 문제 풀이 제한사항에 원소 크기 조건이 0~9 여서 arr에 10을 추가시키고 for문을 돌려 현재 선택된 원소와 다음번 원소를 비교하고 같지 않으면 현재 원소의 인덱스를 temp리스트에 넣습니다. temp리스트에 들어간 인덱스를 사용해서 중복된 값을 제거하고 순서를 유지하며 answer를 구했습니다. def solution(arr): answer = [] arr.append(10) temp = [] for i in range(0, len(arr)-1): if arr[i] is not arr[i+1]: temp.append(i) for t in temp: answer.append(arr[t]) return answer
2019.12.03 -
MNIST 데이터를 이용한 글자 인식 프로그램 (3)
결과, 정확도 결과 덤프 화면은 아래 그림과 같습니다. *정확도 기본 학습 데이터 Accuracy:0.9758616 역전파 Accuracy:0.97534880086174 오차 역전파 Accuracy:0.9118631680482993 CNN Accuracy:0.41925920819255125 문제점 같은 이미지로 비교한 결과 여러가지 문제점들이 발견되었습니다. 다른 학습 방법들의 예측결과를 비교한 결과 기본학습데이터의 정확도가 가장 높았습니다. 그리고 가장 높은 정확도를 가질 것이라고 예상했던 CNN이 가장 낮게 나왔습니다. 문제 파악을 위해 입력데이터에 다른 이미지를 사용해봤는데 CNN을 제외한 나머지는 숫자를 얼마나 정확하게 그리는지에 따라서 정확도의 편차가 큰 것을 확인 할 수 있었고 CNN은 정답도..
2019.10.08