본문 바로가기

STUDY/Python

(56)
[프로그래머스] 2차원으로 만들기 파이썬 [나의 코드] def solution(num_list, n): answer = [] num = len(num_list) a = num//n i=0 while True: answer.append(num_list[i:i+n]) if i+n==num: return answer else: pass i += n return answer [다른 사람 코드] def solution(num_list, n): answer = [] for i in range(0, len(num_list), n): answer.append(num_list[i:i+n]) return answer
[deque] 양방향 자료형 - 파이썬 * deque - 앞 뒤에서 데이터 처리 가능 - 스택 또는 큐와 같이 사용할 수 있음 * deque 사용법 - 라이브러리 정의 from collections import deque - deque 객체 만들기 a = [1 , 2, 3] test = deque(a) - rotate('인자') 함수 : 양수 인자값을 넣으면 오른쪽으로 배열 이동함. 음수 인자 값을 넣으면 왼쪽으로 배열 이동. test.rotate(2) test.rotate(-2) rotate() 함수만 취하면 deque type이라 원래의 list type으로 사용할 수 없음. list()로 다시 묶어서 type 변환을 해준다.
python 숫자 판별 함수 isdigit "문자열".isdigit() - 0~9 사이 숫자면 True, 아니면 False word = "1234asdfjl67" num_sum=0 for w in word: if w.isdigit(): num_sum += int(w) else: pass print(num_sum)
파이썬 두 개 리스트 간 중복 요소 set 함수를 사용하면 리스트 간 중복 요소를 발견하기 쉽다! count = 0 count += len(set(s1)&set(s2))
[Softeer] 전광판 (딕셔너리 공부) 전광판의 불은 아래와 같이 설정한다.. [나의 풀이] import sys T= int(sys.stdin.readline()) number = { "0":"1110111", "1":"0010010", "2":"1011101", "3" : "1011011", "4" : "0111010", "5" : "1101011", "6" : "1101111", "7" : "1110010", "8" : "1111111", "9" : "1111011", " " : "0000000" # 불 다 꺼짐. } for _ in range(T): a, b = sys.stdin.readline().split() # 길이 맞춰주기 : 길이는 5 a = (5 - len(a)) * " " + a b = (5 - len(b)) * " " + ..
zip(), copy(), deepcopy() 1. zip() - 여러개의 순회 가능한(iterable) 객체를 인자로 받음 - 각 객체가 갖고 있는 요소를 튜플 형태로 반복자(iterator)를 반환함 - 두 객체의 각 인덱스를 묶음 A_list = [0, 1, 2] B_list = ['A', 'B', 'C'] for A_B in zip(A_list, B_list): print(A_B) 2. copy() - 1차원 시퀀스 복사 a = [1,2,3] b = a.copy() print(a) print(b) b[0] = 4 print(a) print(b) 수정도 자유자재로 가능하다 - 2차원 이상의 리스트, 배열에서는 문제 발생함 a = [[1,2,3],[4,5,6]] b = a.copy() print(a) print(b) b[0][0] = 7 prin..
[Softeer] A+B - 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. [풀이 1] import sys n = sys.stdin.readline() i = 1 for _ in range(int(n)): a, b = map(int, sys.stdin.readline().split()) print(f'Case #{i}:', a+b) i +=1 [풀이 2] import sys i=1 lines = sys.stdin.readlines() for line in lines: if line.find(" ")==1: line = line.replace('\n', '') A, B = map(int, line.split(" ")) if 1
[Softeer] 근무 시간 - 근무시간 확인 프로그램 - 5일간 몇분 일했는지 계산하기 [풀이 1] import sys lines = sys.stdin.readlines() result = 0 for line in lines: a, b = map(str, line.split()) a_h, a_m =map(int, a.split(":")) b_h, b_m =map(int, b.split(":")) if b_mA_m[i]: compute_time += 60*(B_h[i]-A_h[i])+(B_m[i]-A_m[i]) elif B_m[i]

728x90