분류 전체보기

해당 글은 [혼자 공부하는 컴퓨터구조 + 운영체제] 도서의 내용을 정리한 글입니다. 💡 컴퓨터 구조를 이해해야 하는 이유 문제 해결 능력이 향상된다. 문법만으로는 알기 어려운 성능/용량/비용을 고려하며 개발할 수 있다. 문제 해결을 위한 다양한 실마리를 찾을 수 있다. 컴퓨터를 미지의 대상에서 분석의 대상으로 인식하게 된다. 💡 컴퓨터 구조의 큰 그림 컴퓨터가 이해하는 정보에는 데이터와 명령어가 있습니다. 💡 컴퓨터의 네 가지 핵심 부품 그림 메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품입니다. CPU는 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 부품입니다. 보조기억장치는 전원이 꺼져도 보관할 프로그램을 저장하는 부품입니다. 입출력장치는 컴퓨터 외부에 연결되어 컴퓨터 ..
List List는 컴퓨터 프로그래밍에서 사용되는 데이터 구조로, 항목들의 순서를 유지하는 컬렉션이다.일련의 항목을 저장하고 접근하고 조작하는 데 사용된다. 다른 용어로는 배열(Array)이라고도 불리며, 동적 배열(Dynamic Array)로 구현되기도 한다. List 사용 list객체의 pop(0) 함수를 호출하면 첫 번째 데이터를 제거할 수 있다. pop(0) 또는 insert(0, x)는 시간복잡도가 O(N)이기 때문에 담고 있는 데이터의 개수가 많아질수록 느려진다. 큐 자료 구조의 효과를 내기 위해 사용하는 것은 비추천한다. Deque collections 모듈의 deque는 double-ended queue의 약자로 데이터를 양방향에서 추가하고 제거할 수 있는 자료구조이다. Deque 사용 d..
[Baekjoon] 단계별로 풀어보기 | 1차원 배열 | 8959 OX퀴즈 8958 OX퀴즈 파이썬 코드 답안 N= int(input()) for i in range(N): list=input() cnt=0 sum=0 for j in range(len(list)): if list[j]=='O': cnt+=1 if list[j]=='X': cnt=0 sum+=cnt print(sum) O, X로 이루어진 문자열을 list로 받기 list길이만큼 반복하고 list의 첫 번째 문자부터 O일 경우 cnt+1, X일 경우 cnt 0 초기화 틀린 내용이 있다면 댓글로 알려주세요 :) 문제의 자세한 내용은 백준 사이트를 확인해주세요 ;)
[Baekjoon] 단계별로 풀어보기 | 1차원 배열 | 1546 평균 1546 평균 파이썬 코드 답안 N= int(input()) list = list(map(int,input().split())) list1 = [i/max(list)*100 for i in list] print(sum(list1)/N) 작성한 코드 내용 N에다가 시험 본 과목의 개수를 입력 받습니다 list에다가 점수들을 입력받고 list1에다가 점수들을 문제에 맞게 연산해서 리스트로 만들어줬습니다 출력은 list1의 평균이 나오도록 했습니다 이번 문제는 연산 부분만 잘 작성하면 될 거 같아요 틀린 내용이 있다면 댓글로 알려주세요 :) 문제의 자세한 내용은 백준 사이트를 확인해주세요 ;)
[Baekjoon] 단계별로 풀어보기 | 1차원 배열 | 3052 나머지 3052 나머지 파이썬 코드 답안 list =[0 for _ in range(10)] for i in range(10): list[i]=int(input())%42 print(len(set(list))) 10개의 수를 입력받은 뒤, 그 값과 42로 나눈 나머지 중에 서로 다른 값이 몇 개 있는지 출력하는 문제 일단 전에 풀었던 문제랑 비슷하게 숫자들을 카운트 해야하기 때문에 리스트 하나 만들어 줍니다 반복문을 보자면, 리스트 인덱스 0부터 9까지 입력 받은 값에서 42를 나눈 나머지 값 대입 리스트를 set()함수에 넣어 중복된 건 없애버렸습니다 그리고 그 리스트의 인덱스 길이를 출력시켰어요 그런데 set(list) print(le..
[Baekoon] 단계별로 풀어보기 | 1차원 | 배열 2577 난이도가 코드업 기초 100제 종합 문제 정도로 올라간 느낌입니다. 천천히 풀어보도록 하겠습니다 2577 숫자의 개수 파이썬 코드 답안 A= int(input()) B= int(input()) C= int(input()) N=A*B*C list = [0 for j in range(10)] for i in range(9): list[(N%10)]+=1 N=int(N/10) if N==0: break for i in range(10): print(list[i]) 숫자 0~9 체크할 때는 리스트를 이용해서 많이들 하는 거 같아요 저도 비슷한 방법으로 작성해 보았습니다 반복문 코드를 보자면, N을 10으로 나눈 나머지 -> N의 일의 자리 N의 일..
[Baekjoon] 단계별로 풀어보기 | 1차원 배열 | 10818, 2526 반복문 다음 단계!! 1차원 배열 2문제 풀어볼까요 10818 최소, 최대 파이썬 코드 답안 N = int(input()) list = list(map(int,input().split())) print(min(list), max(list)) N은 사용하지 않았습니다 예제 입력처럼 하려고 작성했습니다 2526 최댓값 파이썬 코드 답안 list=[] for i in range(9): list.append(int(input())) print(max(list)) print(list.index(max(list))+1) 리스트로 입력값 받아주고 max()랑 list.index() 이용해서 출력했습니다 max(리스트명) : 리스트의 요소 ..
[Baekjoon] 단계별로 풀어보기 | 반복문 | 1110 반복문 마지막 파트! 1110번입니다. 1110 더하기 사이클 파이썬 코드 답안 N=int(input()) A=N cnt=0 while True: N= int(((N%10)*10)+(((N/10)+(N%10))%10)) cnt+=1 if N==A: break print(cnt) 문제 패턴 N = 68 십의 자리 : 원래 일의 자리(8)*10 > 십의 자리(8) 일의 자리 : 십의 자리(6) + 일의자리(8) > 두 합의 일의자리(4) : ((N/10)+(N%10)) 다음 N = 84 이렇게 돌아가는 패턴입니다! 규칙을 찾았으니 바로 식에 적용해보자면, N= int(((N%10)*10)+(((N/10)+(N%10))%10)) 십의 자리 : 원래 ..
[Baekjoon] 단계별로 풀어보기 | 반복문 | 10871, 10952, 10951 반복문 3문제입니다. 뒤로 갈수록 헷갈리니 집중해서 풀어볼까요? range(n) 은 0, 1, 2,... , n-2, n-1까지의 수열을 의미한다. 예를 들어 range(3) 은 0, 1, 2 인 수열을 의미한다. range(끝) range(시작, 끝) range(시작, 끝, 증감) 형태로 수열을 표현할 수 있다. 시작 수는 포함이고, 끝 수는 포함되지 않는다. [시작, 끝) 증감할 수를 작성하지 않으면 +1이 된다. 10871 X보다 작은 수 파이썬 코드 답안 N, X = map(int,input().split()) list =list(map(int, input().split())) for i in range(N):..
[Baekjoon] 단계별로 풀어보기 | 반복문 | 11021, 11022, 2438 단계별로 풀어보기 반복문 파트 이어서 3문제 풀어보도록 하겠습니다. for i in range(n) : #range(n)에 들어있는(in) 각각의 수에 대해서(for) 순서대로 i에 저장해 가면서... 이때의 for는 각각의 값에 대하여...라는 for each의 의미를 가진다고 생각할 수 있다. range(끝) range(시작, 끝) range(시작, 끝, 증감) 형태로 수열을 표현할 수 있다. 시작 수는 포함이고, 끝 수는 포함되지 않는다. [시작, 끝) 증감할 수를 작성하지 않으면 +1이 된다. 11021 A+B-7 파이썬 코드 답안 T =int(input()) for i in range(T): a, b = map..
늘코딩
'분류 전체보기' 카테고리의 글 목록 (8 Page)