분류 전체보기(204)
-
백준 9012번 : 괄호
https://www.acmicpc.net/problem/9012 이 문제는 스택을 활용한 문제이다.어떻게 스택이랑 연관지어야 할지 고민하던 중, "(" 이것을 push, ")" 이것을 pop으로 활용하여 문제를 풀어보기로 하였다.count = int(input())for _ in range(count): vps_str = input() vps_list = [] try: for i in vps_str: if i == "(": vps_list.append(i) else: vps_list.pop() print("YES" if len(vps_list) == 0 else "NO") except IndexError: print("NO")..
2024.05.23 -
[프로그래머스] 약수의 합
def solution(n): sum = 0 for i in range(1, n+1): if n % i == 0: sum += i return sum 약수 문제를 어디선가 풀었던 것 같은데 기억이 안난다.여튼 내가 푼 방식은 n만큼의 반복문을 돌며 나누었을 때 나머지가 0인 것을 찾아 sum에 더해준다. def sumDivisor(num): # num / 2 의 수들만 검사하면 성능 약 2배 향상잼 return num + sum([i for i in range(1, (num // 2) + 1) if num % i == 0]) 그리고 다른 분의 아주 간단한 코드를 보았는데, 댓글들을 보니 다들 감탄하고있다.여기서 num // 2 + 1을 해준 값만..
2024.05.20 -
[프로그래머스] 문자열을 정수로 바꾸기
def solution(s): return int(s) 여기서 마이너스 부호가 들어가더라도 이를 부호로 잘 인식하여 통과되는 것을 확인할 수 있었다. 다른사람들의 코드를 확인해보니 가장 먼저 눈에 띄는 코드가 있었다.def strToInt(str): result = 0 for idx, number in enumerate(str[::-1]): if number == '-': result *= -1 else: result += int(number) * (10 ** idx) return result 입력받은 값을 뒤에서 가져와 하나하나 확인하고 이를 더해준 뒤 마지막에 부호를 확인해주었다. 이 코드를 보며 int()의 알고..
2024.05.19 -
[프로그래머스] 문자열 내의 p와 y의 갯수
def solution(s): cnt_p = 0 cnt_y = 0 s = s.lower() answer = False for character in s: if character == "p": cnt_p += 1 elif character == "y": cnt_y += 1 else: pass if cnt_p == cnt_y: answer = True return answer count가 가능한지 모르겠던 나머지 주먹구구식 코드를 짜버렸다.다른사람 코드를 확인해보니 count가 가능하더라. 이래서 사람이 기본적으로 사용 가능한 ..
2024.05.18 -
[Error] dtype('<U4') 무엇인가?
numpy.core._exceptions._UFuncNoLoopError: ufunc 'subtract' did not contain a loop with signature matching types (dtype('int64'), dtype(' None 연산 과정에서 이런 에러가 계속해서 났었다. 친구의 도움으로 해결했고, 결론적으로는 멍청한 짓을 했었다. 입력받았던 array와 정수(엄밀히 말하면 정수 변환 전 문자열이였다)로 뺄셈 연산 과정 중 발생한 에러로 정수형과 문자열이 연산을 시도하고 있던 것이다. U라는 것은 Unicode, 즉 문자열을 의미하며 뒤에 4는 아마 비트수...인 것 같다. 4비트짜리 Unicode와 int64sms 연산할 수 없어요~ 라는 에러를 뱉은 것임 아. 코드를 짜며 ..
2024.05.01 -
[23-2] 고교 SW 체험 보조 쌤 기록 (2)
이번학기에도 돌아온 고교 SW 체험 보조쌤 기록이다. 이번 겨울 방학 일정에는 연락을 안주셨다. 슬프다. 전 돈이 궁한데.. 이번에는 세화여고 마지막 한차시 수업, 동화고 한차시 수업, 퇴계원고 세차시 수업 총 5회차 보조쌤으로 일했다. 일하면서 느낀 것은, 생기부때문에 참여는 하였으나 들어와서 딴짓하는 학생들이 꽤 많다는 것. 이를 제지하는 것이 맞을지 고민이 많았다. 그냥 냅두긴 했는데, 흠... 어렵다. 얘들아 그래도 할땐 집중해서 하려무나... 라고 말하기엔 나도 수업시간에 딴 짓 많이 했었음... 자아성찰을 하게되는 시간이 되었다.
2024.02.10 -
[23-2] 서울여자대학교 데이터혁신실 학생데이터워킹그룹
교내 활동 중 홍보 겸 정말 좋았던 프로그램 중 하나라 기록해두는 글 뭐 안좋았어도 기록해두려고 했던 것이였지만 2023년 11월부터 2023년 2월까지 약 4개월간 진행한 학생 데이터 워킹그룹 활동 사실상 시험기간 break가 있어서 약 3개월이라고 보면 된다. 목차 1. 지원 계기 2. 준비 및 지원과정 3. 활동 내용 및 지원 4. 결과물 5. 종합 후기 1. 지원 계기 지원 계기. 별다른건 없다. 그냥 뭐라도 스펙 하나 더 쌓으려고 지원한 것 뿐 이번에 처음 하는 활동이라 정보가 거의 없었고, 교수님이 알려주셔서 공지가 올라올 때까지 버텼을 뿐이다. 결론, 지원 계기는 스펙이다. 2. 준비 및 지원과정 이 부분은 글을 쓰는 시점에 내 노트북에 자료가 없는 상황이라 명절 지나고 차차 정리하도록 하겠..
2024.02.09 -
캡스톤디자인II 프로젝트 복기
지난 23-2 캡스톤디자인II에 대해 복기해보고자 한다. 학기초 다른 팀들은 주제를 턱턱 잡아가던 중, 우리 팀은 주제를 정하는데만 정말 오랜 시간이 소요되었다. 처음 정했던 주제는 "개인형이동장치 불법 행위 단속 모델 제작" 교수님한테 대차게 까였던 주제이다. 이 주제로 첫 발표를 했을 때도 정말 대차게 까였다. 그래서 점수는 개판이였고. 솔직히 까일 때 이해할 수 없었다. 그리고 까인 이유는 아직도 모르겠다. 개인형 이동장치 불법 행위 단속의 경우 대부분 사람이 하고 있었고, 안그래도 부족한 인력을 일차적으로 자동화 시키도록 하고자 하였던 것이 목표였다. 발표 후 받았던 질문 들 중 나라의 인프라가 되는가? - 이걸 일단 우리가 어떻게 알 수 있는가? - 올해 지능형 시스템 도입을 위해 인프라 개선한..
2024.02.09 -
백준 10773번 : 제로
10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 또 시간 초과다. 왜일지 전혀 감이 오지 않는다. 나랑 똑같은 형태로 코드를 작성한 사람들이 있음에도 불구하고 왜 내 코드는 시간초과가 뜨는 것일까? input으로 받아오는 것 때문에 그런걸까? n = int(input()) stack = [] for _ in range(n): num = int(input()) if num == 0: stack.pop() else: stack.append(num) print(sum(stack))
2024.02.09 -
백준 10814번 : 나이순 정렬
10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 이번 문제는 입력받은 나이와 이름을 가입한 순서대로, 나이 순으로 정렬하는 문제이다. 이 문제는 stable sort를 이용해야 하는 것인데, python에서 제공하는 sort, sorted 함수는 stable sort가 기본이라고 한다. 그래서 파이썬으로 이 문제를 푼다면 그냥 정렬해주어도 괜찮다는 것 n = int(input()) coor_list = [list(input().split()) for _ in range(n)] for i in range(n): coo..
2024.02.01