Python 8

[JAVA - 프로그래머스] Lv.1 폰켓몬

[문제URL]https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  1. 접근 방법1) SET 함수를 사용하면 중복을 제거하고, 최대 고를 수 있는 종류의 수가 나옴 - sett2) 주어진 nums 리스트 배열에서 N//2 만큼의 수가 최대임 - num3) 최대 수 만큼 다양한 수가 있다면 정답은 최대 수 만큼이 되고, 반대로는 다양한 수가 최대가 됨. (삼항연산자 사용)2. 알게 된 점1) java의 util 패키지를 모두 불러오는 것은 import j..

Algorithm(JAVA) 2024.09.01

[Softeer Algorithm] Lv.2 회의실 예약

[문제 URL ]https://softeer.ai/practice/6266 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 1. 문제 접근 방법접근은 간단하다. (그러나, 고민하고 시행착오 겪고 드디어 풀어서 너무 뿌듯하다!!)자동차 별로 시간대를 list로 넣을 수 있는 딕셔너리를 사용하는 것. 입력만 잘해주면 50%는 성공한 셈!1. 딕셔너리에 자동차 이름별로 시간대 list 할당. 2. 자동차 이름 순으로 정렬 먼저 해준다. ( Print할 때, 이름 순으로 함)3. 자동차 순서대로 시간대 확인하는 함수에 갔다 나온다. (함수는 시간 양식을 9가 아닌 09로 해주는 format_time과 시간대 list를 넣으면 빈 시간대를 확인해주는 find함수 두 가지를 사용했다.) - f..

[Softeer Algorithm] Lv.2 비밀 메뉴

[문제 URL ]https://softeer.ai/practice/6269 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 1. 문제 접근 방법슬라이딩 윈도우 방식! 앞의 숫자 제거, 뒤에 숫자 추가 후 반복적인 비교.  임시배열이 비밀메뉴와 일치 하지 않을 때, 맨 앞에 index 값 제거 후 뒤에 basic[index 값 +1 ] 해서 추가 후 다시 비교.   1.1 알게 된 점간단하지만 몇 번 시행착오를 겪었다.나는 쌩구현을 좋아하는 편이라..(SWEA로 알고리즘 배움..ㅎㅎ)슬라이딩 윈도우 방식을 생각 못하다가 재귀함수만 자꾸 떠올라서 애먹었다. (아마 +1 때문인 듯.) 그래서 for 문으로 +1 을 해준 후, 예외처리를 또 안해서 애먹었다. 먼저, 기본 배열 잡은 후 맞는..

[Softeer Algorithm] Lv.2 GBC

[문제 URL ]https://softeer.ai/practice/6270 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 1. 문제 접근 방법100개의 범위라서 list 배열을 2개 만들어 각각 제한 속도 할당, 테스트 속도 할당 함. 그 두개의 차이 중 큰 것만 갱신해서 ans 값으로 내면 끝.  1.1 알게 된 점예전에 풀이를 봤더니 현재 많이 발전했다. 뿌듯하고만! 뭔가 범위를 할당하는 것이 쉬운 듯, 고민되고 복잡했던 것 같다. 차분하게 손코딩해보면 된다.  여기서 핵심은, arr 리스트 배열에서 input 값을 한번에 받고, n과 m을 따로 리스트에 할당해주는 것. 1-51까지, 51-91까지, 91-102까지 할당하는 것이 중요한데 두번째 for문 앞에서 범위 끝을 더해..

[Softeer Algorithm] Lv.2 바이러스

[문제 URL ]https://softeer.ai/practice/6284 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 1. 문제 접근 방법너~무 접근하기 어려웠다. 사실 간단한건데, Python은 연산 과정이 최대 21억. 전체 값을 한번에 계산 후, 나눠주는게 아니라 한번씩 곱할 때마다 나머지값을 구하고, 거기에 다시 곱해주는 것. (문제 원리는 https://www.youtube.com/watch?v=RwPEFIW1p8c&t=234s 여기에서 확인할 수 있습니다!) 1.1 알게 된 점제곱을 for문으로 사용 가능.(a,b,c) == (a ** b) % c 라서 , 내장 함수 POW를 쓸 것 같은 문제이지만, 그러면 연산이 너무 커져서 터진다. 2.1 풀이 방법 ( Pytho..