[백준][Python] 3046. R2 🙆♂️문제 🙋♂️풀이 🚀 입력받기 import sys r1,s = map(int, sys.stdin.readline().split()) 정수인 r1과 s(평균)을 입력 받습니다. 🚀 문제 풀이 핵심 r2 = s*2 - r1 (r1+r2) / 2 = s 였습니다. 그래서 r2를 구하는 공식은 r2 = s*2 - r1이 됩니다. 🚀 출력하기 print(r2) r2를 출력합니다. 코딩테스트/백준 2022.08.23
[백준][Python] 1874. 스택 수열 🙆♂️문제 🙋♂️풀이 문제가 말이 어렵네요. 2가지 규칙이 있습니다. 1. PUSH는 오름차순으로 ( 입력값 상관 없이) 2. POP은 입력된 값대로 예를 들어서 총 수(n)을 8이라고 입력 받고 4 3 6 8 7 5 2 1을 입력받았다면 1 2 3 4를 PUSH 하고 POP 해서 4를 빼고 또 POP해서 3을 빼는.. 그렇게 POP해서 만든 리스트가 4 3 6 8 7 5 2 1이 되어야 합니다. 안되는 경우도 있는데 교착 상태에 빠지는 경우 입니다. 스택의 LIFO 특성 덕분에 a가 POP되어야 할 때 a위에 a보다 작은 b가 있다면 교착상태가 됩니다. 안되는 경우를 한 마디로 정의하면 list[i]이 list[i+1]보다 큰 경우 입니다. 🚀 입력받기 import sys n = int(sys.st.. 코딩테스트/백준 2022.08.23
[백준][Python] 9012. 괄호 🙆♂️문제 🙋♂️풀이 🚀 입력받기 import sys n = int(sys.stdin.readline()) ps = [list(input()) for _ in range(n)] 괄호 케이스 수를 n에 입력받고 괄호들은 ps리스트로 입력됩니다. 🚀 문제 풀이 핵심 & 출력 for i in ps: psStack=[] chk=1 for j in i: if j == '(': psStack.append('(') elif j ==')': if len(psStack) == 0: chk=0 break else: psStack.pop(len(psStack)-1) if len(psStack) == 0 and chk == 1: print("YES") else: print("NO") '('를 입력받으면 psStack이라는.. 코딩테스트/백준 2022.08.23
[백준][Python] 9093. 단어 뒤집기 🙆♂️문제 🙋♂️풀이 🚀 입력받기 import sys n = int(sys.stdin.readline()) sen = [list(sys.stdin.readline().split()) for _ in range(n)] 빠른 입력을 위해서 sys를 사용합니다. n에 입력 될 문장 수를 입력받고 sen 리스트에 문장들을 입력받습니다. 🚀 문제 풀이 핵심 & 출력 for i in sen: revWord =[] for j in range(len(i)): word = list(i[j]) word.reverse() addWord = "".join(word) revWord.append(addWord) for k in revWord: print(k, end=" ") print("") revWord 리스트를 선언하여 .. 코딩테스트/백준 2022.08.23
[백준][Python] 10828. 스택 🙆♂️문제 🙋♂️풀이 🚀 입력받기 import sys n = int(sys.stdin.readline()) com = [list(sys.stdin.readline().split()) for _ in range(n)] 시간 제한이 있어서 sys.stdin.readline()으로 입력을 받아야 합니다. 명령어 수와 명령어들을 입력받습니다. 🚀 문제 풀이 핵심 & 출력 stack=[] for i in com: arrLen = len(stack) if i[0] == 'push': stack.append(i[1]) elif i[0] == 'pop': if arrLen==0: print(-1) else: print(stack[arrLen-1]) stack.pop(arrLen-1) elif i[0] == 'siz.. 코딩테스트/백준 2022.08.23
[백준][Python] 18870. 좌표 압축 🙆♂️문제 🙋♂️풀이 좌표 압축 한다는 것은 가장 낮은 수부터 0으로 압축하여 다시 표현하는 것입니다. 입력 예제를 보면 -10이 가장 작아서 0 그 다음 -9는 1... 해서 출력 예제처럼 나오게 됩니다. 🚀 입력받기 import sys n = int(sys.stdin.readline()) arr = list(map(int, sys.stdin.readline().split())) 먼저 숫자 개수와 숫자들을 입력받습니다. 🚀 문제 풀이 핵심 sortArr=list(dict.fromkeys(arr)) sortArr.sort() arrDict={} for i in range(len(sortArr)): arrDict[sortArr[i]]=i 입력받은 arr값들을 sortArr로 중복을 제거하고 정렬합니다... 코딩테스트/백준 2022.08.23
[백준][Python]10814. 나이순 정렬 🙆♂️문제 🙋♂️풀이 🚀 입력받기 n = int(input()) arr = [list(input().split()) for _ in range(n)] for i in range(n): arr[i][0] = int(arr[i][0]) 입력을 받고 for문을 사용해서 나이 값(arr[i][0])을 int형으로 형변환 해줍니다. 🚀 문제 풀이 핵심 arr.sort(key=lambda x:x[0]) key값을 나이값으로 맞춰주기 위해 x:x[0]을 해줍니다. 🚀 출력하기 for i in range(n): print(arr[i][0],arr[i][1]) 출력합니다. 코딩테스트/백준 2022.08.22
[백준][Python] 1181. 단어 정렬 🙆♂️문제 🙋♂️풀이 🚀 입력받기 import sys n = int(sys.stdin.readline()) arr = [input() for _ in range(n)] 배열을 입력받습니다. 🚀 문제 풀이 핵심 delOvl = list(dict.fromkeys(arr)) delOvl.sort() delOvl.sort(key=len) delOvl이라는 리스트 변수를 선언해서 먼저 dict.fromkeys()를 사용해서 arr의 중복을 없애고 저장을 한 후 delOvl.sort()를 통해서 알파벳 순으로 배열을 정렬한 후 delOvl.sort(key = len)을 하여 문자열의 길이에 따라 배열을 정렬해주면 끝입니다. 🚀 출력하기 for i in range(len(delOvl)): print(delOvl[.. 코딩테스트/백준 2022.08.22
[백준][Python] 11651. 좌표 정렬하기 2 🙆♂️문제 🙋♂️풀이 🚀 입력받기 import sys n = int(sys.stdin.readline()) arr = [list(map(int,sys.stdin.readline().split())) for _ in range(n)] sys를 사용해서 입력을 받습니다. 🚀 문제 풀이 핵심 arr.sort(key=lambda x:(x[1], x[0])) 이번엔 sort변수에 key를 arr[1]로 두어서 y좌표에 대해 오름차순 정렬을 할 수 있도록 합니다. 🚀 출력하기 for i in range(n): print(arr[i][0],arr[i][1]) 출력합니다. 카테고리 없음 2022.08.22
[백준][Python] 11650. 좌표 정렬하기 🙆♂️문제 🙋♂️풀이 stable한 정렬방식을 사용하면 되는데 파이썬은 sort함수를 이용하면 됩니다. 🚀 입력받기 import sys n = int(sys.stdin.readline()) arr = [list(map(int,sys.stdin.readline().split())) for _ in range(n)] sys를 통해서 빠른 입력을 받습니다. 🚀 문제 풀이 핵심 arr.sort() 배열을 정렬해주고 🚀 출력하기 for i in range(n): print(arr[i][0],arr[i][1]) for문을 사용해서 출력합니다. 코딩테스트/백준 2022.08.22