본문 바로가기

분류 전체보기76

[Python3 문법] list(리스트) 내의 최댓값과 그때의 index(인덱스) 값 구하기 (feat.enumerate) 배열 이름이 list라고 할 때, max(list) 이건 배열 원소 중 최댓값을 구하는 것이다. list.index(max(list)) 그리고 이건 배열 원소 중 최댓값의 index(인덱스)를 구하는 것이다. 다만, 최댓값이 여러 개일 경우에는 가장 앞쪽에 있는, 즉, index의 크기가 가장 작은 값이 나온다. 한 걸음 더 나아가서, list.index를 활용하면 최댓값이 여러 개일 경우 가장 앞쪽에 있는 index만 출력된다고 했다. 그런데 나는 최댓값이 여러 개 존재할 경우 그때의 index들을 다 확인하고 싶다면 어떻게 해야할까? enumerate를 활용하면 된다. m = max(list) [i for i,v in enumerate(list) if v == m] 위 문서에도 설명이 잘 나와있지만,.. 2020. 10. 21.
[SWEA] 9940. 순열1 (Python3) 문제 링크 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AXHx23oq0REDFAXR&categoryId=AXHx23oq0REDFAXR&categoryType=CODE 나의 논리 N이 입력되었을 때, 순열이 맞다면 1부터 N까지의 숫자가 한 번씩 다 있어야 한다는 점에 착안해서 테스트 케이스로 입력 받은 숫자들을 sorting 해주고 1부터 N까지의 숫자가 차례대로 있다면 "YES" 아니라면 "NO"를 출력하도록 했다. # date: 2020/10/21 # author: psS2mj # brief: SWEA_9940_순열1 (D3) T = int(input()) for tc in range(1,T+1): an.. 2020. 10. 21.
[나동빈 파이썬/그리디-①] 큰 수의 법칙 큰 수의 법칙 민지's 문제요약 M회를 더해야하는데, 같은 원소를 K번 이상 연속해서 사용할 수는 없음. 다른 원소 한 번 더했다가 다시 돌아가는건 오케이. 같은 숫자가 있어도 인덱스가 다르면 다른 숫자로 취급함. 민지's 아이디어 1. 내림차순으로 정렬한다. 2. 반복가능한 K만큼 가장 큰 수를 반복해서 더한다. (M회가 채워지면 끝이고, 안 채워지면 3단계 수행) 3. 두 번째로 큰 수를 한 번 더한다. (M회가 채워지면 끝이고, 안 채워지면 다시 2번으로 돌아간다.) N, M, K = map(int, input().split()) nums = list(map(int, input().split())) nums.sort(reverse=True) result = 0 for _ in range(M): fo.. 2020. 9. 25.
[BOJ] 5543. 상근날드 (Python3) www.acmicpc.net/problem/5543 (level: Bronze IV) 5543번: 상근날드 입력은 총 다섯 줄이다. 첫째 줄에는 상덕버거, 둘째 줄에는 중덕버거, 셋째 줄에는 하덕버거의 가격이 주어진다. 넷째 줄에는 콜라의 가격, 다섯째 줄에는 사이다의 가격이 주어진다. 모든 가�� www.acmicpc.net 아직 파이썬에 익숙해지는 단계라서 [단계별로 풀어보기]에서 카테고리마다 안 풀어본 문제 하나 정도씩 풀면서 넘어가고 있다. 이 문제는 '실습 1' 카테고리에 있는 문제. # date: 2020/09/11 # author: psS2mj # brief: BOJ_5543_상근날드 # 첫 번째 풀이방법 burger = [] drink = [] for _ in range(3): burger.. 2020. 9. 12.
[프로그래머스] 문자열 내 p와 y의 개수 (Python3) programmers.co.kr/learn/courses/30/lessons/12916 (Level 1 - 연습문제) 코딩테스트 연습 - 문자열 내 p와 y의 개수 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 programmers.co.kr 예전에 Java로 풀어봤던 문제인데, 연습 삼아서 Python3으로도 한 번 풀어봤다. # date: 2020/09/11 # author: psS2mj # brief: 프로그래머스 연습문제_문자열 내 p와 y의 개수 # 첫 번째 풀이방법 answer = True Pnum = .. 2020. 9. 12.
[프로그래머스] 월간 코드 챌린지 시즌1 (9월) - 2번 (Python3) 2번을 풀다가 문제를 잘못 이해했다는걸 깨닫고 허무해져버려서 눈도, 몸도 너무 피곤했던 나는 누워서 좀 쉬다가 다시 풀어봤다. 머리도 아프고... 시험이나 면접 있는거 아닌 이상 어디 잘 안 돌아다니는데 건강 이상있는건 아니겠지 ㅠ_ㅠ 호에엥😣 아무튼 이 문제도 처음엔 Java로 하려다가 어쩌다보니 Python3으로 풀었다. # date: 2020/09/10 # author: psS2mj # brief: 프로그래머스 월간 코드 챌린지 시즌1 (9월) - 2번 def solution(n): answer = [] result = [[0 for x in range(n)] for y in range(n)] num = 1 x = -1 y = -1 for i in range(n): for j in range(i,n.. 2020. 9. 12.
[프로그래머스] 월간 코드 챌린지 시즌1 (9월) - 1번 (Python3) 면접보고 도착해서 한 시간 반 정도 쉬고 했는데 너무 피곤했다.🥱😴 이왕 경험하는거 Java 대신에 Python으로 도전해봤다. # date: 2020/09/10 # author: psS2mj # brief: 프로그래머스 월간 코드 챌린지 시즌1 (9월) - 1번 from itertools import combinations def solution(numbers): answer = [] temp = list(combinations(numbers, 2)) for i, j in temp: num = i + j if num not in answer: answer.append(num) answer.sort() return answer 문제에 대해서는 상세히 말하면 안될 것 같아서 (나중에 문제 올라온댔나.. 기.. 2020. 9. 12.
[마크다운/Markdown] 간편한 마크다운 에디터 "Typora(타이포라)" https://typora.io/# Typora — a markdown editor, markdown reader. Readable & Writable Typora gives you a seamless experience as both a reader and a writer. It removes the preview window, mode switcher, syntax symbols of markdown source code, and all other unnecessary distractions. Instead, it provides a real live preview typora.io 노트북에서 간편하게 md 파일을 열고 편집하기 위해서 최근 계속 사용하고 있는 프로그램인 Typora에 대해 소개해보려.. 2020. 9. 4.
[BOJ] 3052. 나머지 (Python3) 문제 링크 / level: Bronze II www.acmicpc.net/problem/3052 3052번: 나머지 39, 40, 41, 42, 43, 44, 82, 83, 84, 85를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 모두 6개가 있다. www.acmicpc.net 배열에 관한 문제인데, 여러 가지를 연습해볼 수 있을 것 같아서 도전해봤다. 문제를 풀어본 결과 몇 가지 공부포인트가 있었다. 1. 배열을 선언하고, 길이를 지정하고, 10개의 데이터를 받는 과정 2. 나머지 연산 (이건 Java에서의 연산과 같다.) nums = [0] * 10 for i in range(10): nums[i] = int(input()) % 42 내가 .. 2020. 9. 4.