[이코테] DFS & BFS 문제 풀이
·
Algorithm/Algorithm
나동빈님의 이코테 수강 후 정리한 포스팅입니다.https://www.youtube.com/watch?v=7C9RgOcvkvo&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=3  그래프 탐색 알고리즘 : DFS / BFS스택 자료구조먼저 들어온 데이터가 나중에 나가는 형식 = 선입후출박스 쌓기를 생각하자!stack = []stack.append(5) # 오른쪽에서 원소 넣기stack.pop() # 가장 오른쪽 원소 제거큐 자료구조먼저 들어 온 데이터가 먼저 나가는 형식 = 선입선출대기열을 생각하자!from collections import dequequeue = deque()queue.append(5) # 오른쪽에서 원소 넣기queue.popleft() # 가장 왼쪽 원..
[이코테] 그리디, 구현 문제 풀이
·
Algorithm/Algorithm
그리디탐욕법 = 현재 상황에서 가장 좋은 것만 고른다→ 현재 선택이 나중에 미칠 영향은 고려 X큰 수의 법칙import sysinput = sys.stdin.readlineN, M, K = map(int, input().split())number_list = list(map(int, input().split()))number_list = sorted(number_list, reverse=True)first_number_count = (( M // ( K + 1) ) * K ) + M % (K + 1)second_number_count = ( M // ( K + 1) )print(number_list[0] * first_number_count + number_list[1] * second_number_co..
코딩테스트 준비 전 파이썬 문법 총정리
·
Algorithm/PS
나동빈님의 이코테 강의 수강 후 개념을 요약하였습니다.https://www.youtube.com/watch?v=m-9pAwq1o3w&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC 자료형정수형실수형-0.7 → -.7 로 작성 가능-5.0 → -5. 로 작성 가능123.456을 소수 셋째 자리에서 반올림 → round(123.456, 2)지수 표현10^9 → 1e9지수 표현 방식은 임의의 큰 수를 표현하기 위해 자주 사용됨최단 경로 알고리즘에서는 도달할 수 없는 노드에 대하여 최단 거리를 무한으로 설정한다이때 가능한 최대값이 10억 미만이라면 무한으로 1e9를 사용할 수 있다기본적으로 실수형으로 표현됨 → 정수형 int(1e9)로 변환해서 사용하는게 좋다리스트순서 존재a = [0] ..
알고리즘 성능 평가
·
Algorithm/Algorithm
나동빈님의 이코테 강의 수강 후 개념을 정리하였습니다.https://www.youtube.com/watch?v=m-9pAwq1o3w&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC  알고리즘의 성능은 어떻게 평가할 수 있을까?→ 복잡도 개념을 알아야 한다 복잡도 (Complexity)알고리즘의 성능을 나타내는 척도 시간복잡도 : 특정한 크기의 입력에 대하여 알고리즘 수행 시간 분석공간복잡도 : 특정한 크기의 입력에 대하여 알고리즘의 메모리 사용량 분석 → 복잡도가 낮을수록 좋은 알고리즘이다. 그럼 복잡도는 어떤 방식으로 표기할 수 있을까? → 빅오 표기법 Big-O Notation복잡도 표기 방법 가장 빠르게 증가하는 항만을 고려한다.차수가 가장 큰 항만 남긴다. (계수 무시) O..
코드업 문제푸는거 재밌당😙
·
Algorithm/PS
시간날때마다 문제푸는데 확실히 백준보다는 난이도가 쉽당 ㅋㅋㅋ 하핳 그래서 그런지 코드업 문제푸는게 더 재밌넹 다음주부터 이제 자바 객체 시작이라 자바의정석 객체부분 정주행 시작했다! 미리 예습하고 수업 들어야지 마음이 편할것같다,,, 왜냐면 앞쪽에 자바 문법같은경우는 파이썬 문법을 조금 공부했었기에 이해가 쉬웠던거여서,,, 솔직히 2주만에 자바 문법 다 뗀거니까 ㅇㅇ 아예 진짜 쌩 문과사람이나 진짜 수학쪽 컴퓨터쪽 문외한인 사람이 첨 수업 들으면 못따라갈것같다.. 물론 열심히 복습하고 그러면 따라가겠지만,, 아무래도 처음보는거랑 두번째 보는거랑 엄청 차이가 크니깐 ㅇㅇ 암튼 열공해야징
요즘 코드업 java로 문제 푸는중...💻🐥
·
Algorithm/PS
원래는 예전에 파이썬 공부할라구 코드업 문제풀었었는데 국비학원에서 수업시간에 코드업으로 자바 문법 연습하구있다!! 아직 배열 배우기전이라 배열까지 다 푸는걸 목표로,,,,!!!! 진도 맞춰서 문제 다 풀고 싶은데 할게 넘나많당 ㅋㅋㅋ 그래도 처음엔 파이썬하다가 자바하니까 진짜 개어려웠는데 지금은 좀 익숙해져서 다행이당 스프링 인프런강의도 듣고싶은데,, 알바가기전에 더 일찍 일어나서 들어야겠슴,,ㅠ 안그래도 수영 월수금에서 화목으로 바꿨는데 그래두 시간이 빠듯함 아직까진 다 예습했던 내용이라서 우리반에서는 잘하는편인 것 같은데 나중에 객체쪽 나가면 어찌될지모른다..... 정신똑바로 차리고 내 갈길 내가 가야지 ㅇㅇ 노마드코더 챌린지한것도 코드 다시보구 정리해야되고 자바 과제한 것 두 보기좋게 정리하고싶고...
프로그래머스 레벨1 문제 풀이 시작😃
·
Algorithm/PS
일단 파이썬으로 1단계 다 푸는게 목표 ! 8문제 풀었는데 7만등 안착했다 ~.~ ㅋㅋㅋㅋㅋㅋ 꾸준히 풀어봅세 16문제 풀었는디 6만등 됐당 푸는데 확실히 백준보다 친절한 느낌이다,, 입력을 알아서 해주고 결과를 미리 테스트 해볼 수 있어서 좋다
[백준] 1157번 : 단어 공부 파이썬(python), 자바(java) 풀이
·
Algorithm/PS
1157번: 단어 공부 (acmicpc.net) 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 💫 파이썬 풀이 import sys str = sys.stdin.readline().rstrip().upper() alphabet_list = [] for i in range(65,91): alphabet_list.append(chr(i)) cnt_list = [0]*26 for i in range(len(str)): alphabet_index = alphabet_list.index(str[i]) cnt_list[alphabet_index] += ..