본문 바로가기
짜잘IT

화남하루혼공(//-^ㅏ)

by 정람지 2023. 1. 7.

믿을 수 없게도 cos pro 파이썬 2급 시험에서 탈락했다..(´Д`*)

3점 모자라서 탈락헀다! 배가 아팠다! 알고리즘 문제 안 나온다면서 마지막 문제 DFS 관련 문제였다!ヽ(`д´;)/

사실 핑계며 그럼에도 불구하고 통과했어야 했는데..

결론은 실력 부족인 것 같다. (;∀;)

백준 골드까지 오기는 했지만 아무래도 블로그 보고 하고 뇌피셜로 끼워맞추는 등의 깊이 없는 코딩을 한 것 같다.(○`д´)ノシ

진짜 알고리즘 열심히 공부하고 딴 분 블로그 안 보고 시간복잡도 해결하면서! 실력을 키우자!

2월달에 시험 다시 봐서 1000점 맞는다ヽ(*`Д´)ノ

화남...(//-^ㅏ) 

 

▬▬▬.◙.▬▬▬
═▂▄▄▓▄▄▂
◢◤ █▀▀████▄▄▄▄◢◤
█▄ █ █▄ ███▀▀▀▀▀▀▀╬
◥█████◤ 하고싶은 말
══╩══╩═  외치며 하강!
╬═╬
╬═╬ ኈ 아악 바보 정은체!!!
╬═╬
╬═╬
╬═╬
╬═╬
╬═╬
╬═╬ ቼ (쿵)

 


진짜 인터넷 검색 안 하고 알고리즘 열공한다

단계별 풀기 - 정렬

1181번 단어 정렬

from sys import stdin
N = int(stdin.readline())
Nlist = []

for i in range(N):
   Nlist.append(stdin.readline()[:-1])

Nlist = list(set(Nlist)) # 중복 제거
N = len(Nlist)

for _ in range(N-1): # 버블 정렬 - 1. 길이순 맞추기
   canEnd = True
   for j in range(N-1):
      if len(Nlist[j])>len(Nlist[j+1]):
         temp = Nlist[j]
         Nlist[j] = Nlist[j+1]
         Nlist[j+1] = temp
         canEnd = False
   if (canEnd): # swap이 없었으면 정렬이 끝난 것이므로
      break

for _ in range(N-1): # 버블 정렬 - 2. 사전순 정리
   canEnd = True
   for j in range(N-1):
      if len(Nlist[j])==len(Nlist[j+1]): #길이가 같을 시
         for k in range(len(Nlist[j])):
            if ord(Nlist[j][k]) > ord(Nlist[j+1][k]):
               print( Nlist[j],Nlist[j+1])
               print( Nlist[j][k],Nlist[j+1][k])
               temp = Nlist[j]
               Nlist[j] = Nlist[j+1]
               Nlist[j+1] = temp
               canEnd = False
               break
            else:
                break
   if (canEnd): # swap이 없었으면 정렬이 끝난 것이므로
      break

for i in range(N):
   print(Nlist[i])​

와! 혼자서만 풀면 언제나 3중 포문의 결론이 난다! ㅜ

시간 초과 날 줄 알았다.

 

sort에서 key 이용!

 

3.5 람다(lambda)

오늘은 람다 형식과 그것을 이용하는 여러 가지 함수들에 대해서 알아보겠습니다. 당장 완벽하게 소화하실 필요는 없을 것 같구요, 가벼운 마음으로 이런 것이 있다는 정도만 아셔도 되…

wikidocs.net

lambda..(´Д`*)

from sys import stdin
N = int(stdin.readline())
Nlist = []

for i in range(N):
   Nlist.append(stdin.readline()[:-1])

Nlist = list(set(Nlist)) # 중복 제거
Nlist.sort() # 알파벳순 (2순위)
Nlist.sort(key=len) # 길이순(1순위)
# 또는 Nlist.sort(key= lambda x : len(x))

for i in range(len(Nlist)):
   print(Nlist[i])

왕우~`Д´


헷갈

del -> del 리스트명[인덱스]. 인덱스로 삭제

pop-> 리스트명.pop(인덱스). : 인덱스에 해당하는 값을 반환하고 삭제

remove -> 리스트명.remove(값)  : 값으로 삭제

 

최대공배수구하기

for i in range(max(A,B), (A*B) + 1):
	if i % A == 0 and i % B == 0:
		print(i)
		break
        
#모듈이용        
import math
math.lcm(A, B)

최대공약수구하기

for i in range(min(A,B), 0, -1):
	if A % i == 0 and B % i == 0:
    	print(i)
        break
#모듈사용
import math
math.gcd(A, B)

 

아스키 코드 사용

ord()

char(문자 하나) 일 떄만 사용할 수 있음

a<b<....<z

소문자 > 대문자

 

리스트 중복 정리하기

set() 사용

리스트명 = list(set(리스트명))


수학공부도 열심히 해야함(ง •̀_•́)ง

디버깅 해보기

 

우왕 

 

'짜잘IT' 카테고리의 다른 글

🌈NFT🦄  (0) 2023.02.20
🎉IT찍먹 파이썬 생일파티!🐍  (0) 2023.02.18
❄️대외활동 탐색❄️  (0) 2022.12.02
22.09.10 백준풀이  (0) 2022.09.10
22.09.08 - C언어  (0) 2022.09.08