본문 바로가기
728x90

분류 전체보기480

백준1000 사용언어 Python-PyCharm 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A+B를 출력한다. 예제 입력 1 1 2 예제 출력 1 3 문제 풀이 요새 파이썬 공부를 하고 있는데 input()으로 어떻게 받을지 보니 split() 함수를 사용하니 공백을 기준으로 문자열을 나눠져서 저장이됩니다. (물론 다른 기준으로도 쪼갤 수 있습니다.) 하지만 이걸 더하면 원하는 값이 나오지 않았다는 걸 확인할 수 있습니다. 왜냐하면 split함수를 이용했을 때 이게 문자열이기 때문에 덧셈도 문자열로 되는 겁니다. 원하는 값을 얻기 위해서는 정수형으로 바꿔주어야합니다. 알고리즘 분류 출처 : htt.. 2020. 5. 27.
삽입정렬 복습(Insertion Sort) 오늘은 삽입정렬에 대해 또 알아보았습니다. 삽입정렬은 O(N^2)의 정렬 알고리즘 중에서도 가장 효율적인 알고리즘입니다. 특히 정렬이 되어있을때 가장 효과적입니다. 삽입정렬의 핵심은 '삽입을 하고자하는 원소 앞에 배열이 이미 정렬되어진 상태라고 가정' 하는 겁니다. 그러고 삽입하고자 하는 원소를 그 정렬된 배열 앞으로 삽입합니다. 예를 들어보겠습니다. 5 3 4 2 1 이라는 배열이 존재합니다. 첫번째 원소를 선택합니다. 5는 첫번째 원소이기 때문에 이미 정렬이 되어있습니다. 그럼 두번째 원소 3을 보겠습니다. 3이 들어갈 수 있는 두 곳이 있습니다. _5_ 3 4 2 1 여기서 3은 5보다 작이 때문에 앞 쪽 공간에 삽입됩니다. 3 5 4 2 1 다음원소인 4의 들어갈 장소를 모색합니다. _3_5_4 .. 2020. 5. 27.
버블 정렬 복습(Bubble Sort) 오늘은 버블 정렬에 대해 배워 보았습니다. 분명 1,2 학년때 다 한건데 3학년이 된 지금에서야 다시 복습을 하는게 바보같다는 생각이 들 때도 있지만 지금이라도 열심히 해야지라는 생각이 듭니다. 버블 정렬은 O(N^2) 인 세개의 정렬(선택,버블,삽입) 중에서도 가장 비효율적인 정렬입니다. 버블정렬은 무조건 옆에 요소와 비교하고 교환합니다. 여기서 무조건 교환을 하기 때문에 알고리즘의 비효율적인 부분이 커집니다. 애를 들어 설명해보겠습니다. 3 1 4 5 2 라는 배열이 존재합니다. 첫번째 첫번째 3 을 옆에 요소 1과 비교 합니다. 1이 더 크기 때문에 교환합니다. 1 3 4 5 2 그리고 두번째 수 3을 다시 4와 비교한 후 크면 교환합니다. 여기선 4보다 작기 때문에 교환을 하지는 않습니다. 1 3.. 2020. 5. 27.
하루를 시작하기 전 다짐#2 여러분, 안녕하세요. 옆집 컴공생입니다. 좋은 아침입니다. 다들 아침은 드셨나요? 오늘은 저녁에 약속이 있기 때문에 좀 더 부지런히 움직여서 공부해야할 거 같습니다. 어제는 공부를 참 열심히 해서 하고자 한 걸 다 끝냈습니다. 뿌듯하더군요. 오늘도 그럴 수 있길 바랍니다. 제가 좋아하는 말이 있습니다. '어제도 했고 오늘도 했으니 내일도 할 수 있다' 게으른 제 자신을 굴려주는 말입니다ㅎㅎ 자, 힘내서 나아갈 볼까요? 1. 나동빈 선생님 알고리즘 강의 듣고 정리하기 2. 연구실 선배님이 추천해준 책 읽어보기 3. 백준 기초 문제 파이썬으로 풀면서 공부하기 4. 컴퓨터 구조와 운영체제 강의 노트 만들기 5. 알고리즘 문제 풀어보기 2020. 5. 27.
728x90