본문 바로가기
  • AI 개발자가 될래요

Python46

[Python/코테공부] 배열 만들기 4 [Python/코테공부] 배열 만들기 4 나의 풀이 def solution(arr): stk = [] i = 0 while i 0: if arr[i] > stk[-1]: stk.append(arr[i]) i += 1 else: stk.pop() else: stk.append(arr[i]) i += 1 return stk 직관적이다. 테스트 결과 시간이 좀 걸린다. 다른 사람의 풀이 def solution(arr): stk = [] for i in range(len(arr)): while stk and stk[-1] >= arr[i]: stk.pop() stk.append(arr[i]) return stk 반복문의 조건 설정을 매우 잘했다. 테스트 결과 시간 .. 2023. 10. 31.
[Python/코테공부] 배열 만들기 2 [Python/코테공부] 배열 만들기 2 내 풀이 def solution(l, r): answer = [i for i in range(l, r + 1) if not(set(str(i))-{'0', '5'})] return answer if len(answer)>0 else [-1] 풀리긴 한다. 근데 특정 테스트 케이스에서 시간이 오래 걸렸다. 테스트 결과 다른 사람의 풀이 def solution(l, r): answer = [] i = 1 n = 5 while True: if n > r: break n = 5 * int(bin(i)[2:]) if l 2023. 10. 31.
[Python/코테공부] 코드 처리하기 [Python] 코드 처리하기 내 풀이 사실 푸는데 애 좀 먹었다. 문제 이해를 잘못해서.. 전체 문자열의 인덱스에 대해 홀짝을 계산했어야 하는데 split된 문자열에 대해 계산해서 오류가 나왔다. 그래서 고친 코드는 이거다. def solution(code): # code = "abc1abc1abc" answer = '' mode = 0 idx = 0 for c in code: if c== '1': mode = abs(mode-1) idx += 1 continue elif (idx+mode)%2 == 0: answer += c idx +=1 else: idx +=1 return answer if len(answer) != 0 else "EMPTY" 테스트 결과 풀리긴 했다만 시간이 좀 걸렸다. 다른 사.. 2023. 10. 31.
[Python/코테연습] 더 크게 합치기 [Python/코테연습] 더 크게 합치기   내 풀이def solution(a, b): str_a = str(a) str_b = str(b) return int(str_a + str_b) if int(str_a+str_b) > int(str_b+str_a) else int(str_b+str_a)int형을 str으로 바꿔서 일단 더하고, 비교했다. 테스트 결과 간단한 예제라서 그런지 일단 더하고 비교해도 실행에 어려움이 없다. 다른 사람의 풀이def solution(a, b): return int(max(f"{a}{b}", f"{b}{a}")) str의 특성을 아주 잘 이용해서 풀었다.. 배워야 할 부분! 테스트 결과  메모리 측면에서 아주 조금 더 효율적이다. 숙지해야겠다. * 문제.. 2023. 10. 30.
[Python/코테공부] 대소문자 바꿔서 출력하기 [Python] 대소문자 바꿔서 출력하기 나의 처음 풀이 str = input() lower = [i.upper() if i.islower() else i.lower() for i in str] print(''.join(lower)) upper, lower, join에 대한 함수를 알고 있었기 때문에 무리 없이 풀이했다고 생각했다. 테스트 결과 그러나 다른 사람의 풀이에서 쇼킹한 답을 발견했다. 다른 사람의 풀이 str = input() print(str.swapcase()) 이런 내장함수가 있었다니.. 쇼킹하다.. 테스트 결과 확실히 내장함수 최적화가 잘 되어있는지 더 빠르다. (미묘한 차이지만..) 나중에 응용해볼만도 하다. 근데 심사위원이 이를 좋게 볼지는 모르겠다. 이 함수를 왜 썼냐고 물어본다면.. 2023. 10. 30.
[Python] Pycharm에서 작성한 GUI를 바탕화면 아이콘 클릭으로 실행되게 하기 / .bat파일 메모장 작성법 [Python] Pycharm에서 작성한 GUI를 바탕화면 아이콘 클릭으로 실행 Python을 이용해 Pycharm에서 열심히 만든 GUI를 시연할 기회가 온다면, 이 방법을 쓰면 유용하다. 시연할 때 Pycharm 열고, 초록색 실행 버튼을 누르는 것 보다 바탕화면에 있는 아이콘을 더블클릭한다면 더 전문성이 높아보일것이다. 위의 아이콘을 더블클릭하면 프롬프트가 열러 아나콘다 가상환경이 자동으로 activate 되고 이렇게 Pycharm에서 python으로 개발한 GUI가 깔끔하게 뜬다. 이를 위한 방법은 간단하다. 방법 메모장을 열어 아래 코드를 입력하고, .bat 파일로 저장하면 된다. set root=C:\Users\$사용자이름$\anaconda3 call %root%\Scripts\activate.. 2023. 10. 18.