전체 글(133)
-
[파이썬] collections 라이브러리를 이용해 스택 큐 구현
collections 라이브러리는 자료구조를 제공하는 표준 라이브러리다. deque를 이용해 스택과 큐를 구현해 볼 것이다!! 스택 (stack) 스택은 데이터를 저장하는 선형 자료구조로, Last-In_First-out 방식으로 동작을하며 스택은 push(데이터 추가)와 pop(데이터 제거) 두가지 방식을 기본적으로 제공한다. 가장 마지막에 들어온 데이터가 가장 먼저 빠져나가는 방식이다. 라이브러리를 이용하면 이렇게 쉽게 구현이 가능하다. from collections import deque stack = deque() # 데이터 추가 stack.append(1) stack.append(2) stack.append(3) # 데이터 삭제 print(stack.pop()) # 3 print(stack.po..
2023.02.20 -
[안드로이드] - Fragment Lifecycle
안드로이드 Fragment의 라이프사이클은 다음과 같은 순서로 진행됩니다. onAttach() Fragment가 Activity에 연결될 때 호출됩니다. Fragment가 소속된 Activity에 대한 참조를 얻을 수 있습니다. onCreate() Fragment가 생성될 때 호출됩니다. View와 Layout을 초기화하고 데이터를 로드하는 등의 초기화 작업을 수행합니다. onCreateView() Fragment의 View를 생성할 때 호출됩니다. Fragment의 레이아웃을 inflate하여 View를 생성합니다. onViewCreated() Fragment의 View가 생성된 후 호출됩니다. View를 초기화하는 등의 작업을 수행합니다. onStart() Fragment가 사용자에게 보여지기 시작할..
2023.02.19 -
[안드로이드] - Activity LifeCycle
안드로이드 Activity의 라이프사이클은 다음과 같은 순서로 진행됩니다. onCreate() Activity가 생성될 때 호출됩니다. -> 최초의 한번만 수행된다. View와 Layout을 초기화하고 데이터를 로드하는 등의 초기화 작업을 수행합니다. onStart() Activity가 사용자에게 보여지기 시작할 때 호출됩니다. Activity가 포그라운드에 올라오고, 사용자가 상호작용하기 전에 준비 작업을 수행할 수 있습니다. onResume() Activity가 포그라운드에 완전히 올라왔을 때 호출됩니다. 사용자가 Activity와 상호작용할 수 있는 상태가 됩니다. onPause() Activity가 일부분이나 전체가 다른 Activity에 가려졌을 때 호출됩니다. Activity가 더 이상 화면에..
2023.02.19 -
[안드로이드] - 4대 컴포넌트
갑자기 4대 컴포넌트에 대해 정리하고 싶어졌다. 이력서나 면접에 대해 고민하게되고 그렇다보니 기본적인 cs 지식에 대해 부족한 점과 기본적인 이론에 대해 정리해야겠다 생각이 들어 적게됬다... 컴포넌트란 무엇일까? 프로그래밍적인 의미로는 여러개의 독립적인 모듈들을 말한다. 그럼 안드로이드에 있는 4대 컴포넌트는 무엇일까? - Activity (액티비티) 사용자의 인터페이스 화면을 말하며 특정 작업들을 수행한다. Activity가 존재하지 않으면 사용자와의 상호작용을 할 수 없기에 하나 이상의 Activity는 필수적으로 존재해야한다. Activity는 무조건적으로 Manifest에 등록이 되어있어야되고 하나 이상의 View 또는 ViewGroup이 존재해야 한다. - Service (서비스) 백그라운드에..
2023.02.19 -
[이코테] 실전문제 4번 1이 될 때까지
문제 n이 1이 될 때까지 반복한 횟수를 출력해라 조건 조건 1. n / k가 딱 떨어지는 경우 나눈다 조건 2. 아닌 경우에는 n - 1을 해준다 처음 시도 한 풀이 n,k = map(int, input().split()) result = 0 while n > 1: # n을 k로 나눴을 때 0 나오고 n이 1 보다 큰 경우 if(n % k == 0): n = n / k result += 1 else: n -= 1 result += 1 print(result) 정말한 간단한 풀이다. 근데 이런식으로 풀게되면 데이터가 큰 경우에는 매우 큰 시간이 걸린다. 슬프지만 이 코드는 사용할 수 없다. 솔직히 난 이게 맞는 줄 알고 풀었다... 문제를 풀수록 자신감이.... 책에 있는 솔루션이다... n,k = ma..
2023.02.16 -
[이코테] 실전문제 2번 큰 수의 법칙
문제 : 주어진 수들을 M번 더하여 가장 큰수를 만드는 법칙이다. 단. 배열의 특정한 인텍스에 해당하는 수가 연속으로 K번을 초과하여 더해질 수 없는 것이 이 법칙의 특징이다 첫번째 줄에는 n m k가 공백으로 자연수 구분 두번째 줄에는 n 리스트 값을 넣어준다 입력으로 주어지는 K는 항상 M보다 작거나 같다 n,m,k = map(int, input().split()) data = list(map(int, input().split())) # 리스트로 입력 받는 값을 k 번이상 똑같은 수로 반복할 수 없고 m 번반복해서 더해줘야한다 # 첫번째로는 큰수를 k번 반복 후 그다음 큰수를 찾는다 해당 인덱스 번호를 제외하고 찾기 # 첫번째로 큰수를 찾고 두번째 큰수를 찾는다 그리고 반복하는 것이 방법일 것이다 #..
2023.02.09