본문 바로가기

CS/알고리즘

(22)
★ 백준 20920 파이썬 영단어 암기는 어려워- 딕셔너리&람다식 응용 1) 람다식 참고https://velog.io/@euisuk-chung/파이썬-시각화-마스터하기-람다Lambda-함수 파이썬 마스터하기 : 람다(Lambda) 함수람다(lambda) 함수는 함수형 프로그래밍에서 중요한 개념 중 하나로, 익명 함수(anonymous function)라고도 부릅니다.velog.io 2) 딕셔너리 정렬 참고https://velog.io/@yejinleee/파이썬-딕셔너리-정렬 파이썬 딕셔너리 정렬딕셔너리 키값으로 정렬하기, 벨류값으로 정렬하기, 역순으로 정렬하기 / dic.items(), lambda x , reversevelog.io 개수, 길이는 내림차순알파벳순서는 오름차순 sorted는 오름차순 정렬이 default인데이렇게 단어의 개수와 길이는 내림차순, 알파벳순서는 ..
백준 파이썬 13305번 주유소 - 간단한 풀이 N-1까지만 신경쓰기간단하게 생각하는 연습을 더 해야겠다 제일 싼 곳에서 기름 충전해서 가격을 갱신하면서 가도록 짰다import sysN=int(sys.stdin.readline()) #도시개수dist=list(map(int, sys.stdin.readline().split()))price=list(map(int,sys.stdin.readline().split()))result=0nowPrice=price[0] for i in range(N-1): nowPrice=min(nowPrice,price[i]) result+=nowPrice*dist[i] print(result)
파이썬 2164번 카드2 - list와 deque의 시간복잡도 & 0~N 리스트 만들기 앞에서 나가고 뒤로 들어오길래 음 큐 쓰면 되겠다 했다. import sysN=int(sys.stdin.readline())q=[]for i in range(1, N+1): q.append(i) while len(q)>1: q.pop(0) temp=q.pop(0) q.append(temp) print(q[0]) append 저 모냥으로 해도 되나? 했는데 그것도 그렇고 list도 그렇고 시간 초과일단 저 append는N= int(input())q = list(range(1, N+1))로 하면 훨씬 간단하다. 그리고 보통 이런 문제에선 import deque쓰지 않나? 근데 앞뒤에서 양방향 출입은 필요 없는데 꼭 그래야 하나? 고민했다. 찾아보니 데크는 양 끝 요소의 app..
백준 17266번 파이썬 어두운 굴다리 맞추긴 맞춤다른 분들 코드를 보다가 너무 깔끔한 풀이가 있어 놀라웠다import sysN=int(sys.stdin.readline())M=int(sys.stdin.readline()) #가로등의 개수 Mp=list(map(int,sys.stdin.readline().split())) #가로등들의 위치 x를 담은 리스트def ceil(n): if n==int(n): return int(n) else: return int(n)+1 if M==1: print( max(N -p[0], p[0]) )else: for i in range(len(p)): if i==0: #맨처음 가로등 h=p[0] elif i..
백준 1205번 파이썬 풀이: 등수 구하기 랭킹리스트의 크기 P>N: 들어가도 됨그냥 넣고 인덱스 출력.  P=N, 리스트 꽉 찼음태수의 점수가 리스트 내부의 무언가보다 더 클 때만 리스트에 넣을 수 있음리스트가 태수 점수보다 다 크거나 같으면 -1 출력 하는걸로 알고리즘 짰다. 다만 현재 리스트가 비어 N=0인 경우 따로 빼서if N==0부터 해줘야 하는데 그러지 않아서 한번 틀렸다.리스트 안의 점수를 받는 두번째 입력을 기다리며 커서가 머물러있었기 때문에 백준 퍼센트가 99%까지 정답이다가마지막에 틀렸습니다! 아앗. 꽝. 아래는 내 풀이 코드. 맞았다고 뜬다.import sys#T는 태수의 새로운 점수rankList=[]N, T, P= map(int, sys.stdin.readline().split())if N==0: #현재 리스트에 아무것도..
백준 20125번 파이썬 : 쿠키의 신체 측정 실버4라기엔 조금 어렵지 않나 싶었던 문제시간 초과 해결을 못해 한참 헤맸다https://www.acmicpc.net/problem/20125  머리는 맨 위 한칸. 심장은 머리 바로 아래 빨간색.허리, 좌우팔, 좌우다리의 길이는 1이상. 너비는 무조건 1. 심장 위치와 팔, 다리, 허리 각 길이 반환해야 하는 문제 맨 위 머리를 좌표 (a,b)라 하면심장은 (a+1, b)왼팔 길이는 (a+1, b-1)부터 *끝날때까지 왼쪽 방향으로 개수 count++오른팔 길이는 (a+1, b+1)부터 *끝날때까지 오른쪽 방향으로 개수 count++허리는 (a+2, b)부터 *끝날때까지 아래 방향으로 개수 count++ (생각해보니 머리 열 좌표 찾아 길이 구하고 머리와 심장 길이만큼 -2하면 될 것 같아 비교적 간단..
[파이썬] 백준- 1927번 최소 힙 import sys,heapq N=int(sys.stdin.readline()) h=[] for i in range(N): x=int(sys.stdin.readline()) if x>0 or x
[프로그래머스] c++ JadenCase 문자열 만들기 [Lv.2] https://school.programmers.co.kr/learn/courses/30/lessons/12951 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 밖에 비가 많이 온다 평일은 매일 c++ 알고리즘 공부중 이번 문제는 lv.2이지만 toupper, isspace등 기본 문자열 함수를 연습하는 문제였다 isspace 사용하는게 오랜만이라 잠시 시간이 걸렸지만 원리는 비교적 쉬운 문제. #include #include #include using namespace std; string solution(string s) { string answer ..