전체 글
-
같은 숫자는 싫어프로그래밍/알고리즘 2021. 3. 23. 14:44
나의 풀이 def solution(arr): answer = [] for i in range(len(arr)): if i == 0: answer.append(arr[i]) elif arr[i] != answer[-1]: answer.append(arr[i]) return answer 다른 사람 풀이 1 def no_continuous(s): a = [] for i in s: if a[-1:] == [i]: continue a.append(i) return a 빈 배열에 의미없은 슬라이싱(?)을 해도 인덱스 에러가 나지 않는 것을 활용해 숫자가 같으면 continue 아니면 리스트에 추가하는 방법으로 해결하였다.
-
가운데 글자 가져오기프로그래밍/알고리즘 2021. 3. 23. 11:31
내가 한 풀이 제출 테스트에서 2번에서 계속 실패했다. def solution(s): answer = '' if len(s) < 2: answer = s return answer if len(s) % 2 == 0: # 짝수 count = (len(s) // 2) - 1 answer = s[count:-count] return answer else: # 홀수 count = int(len(s) // 2) answer = s[count:-count] return answer 다른 사람 풀이 1 def solution(s): if len(s) % 2 == 1: return s[len(s)//2] else: return s[(len(s)//2-1) : (len(s)//2+1)] 내가 짜놓은 코드와 비슷하지만 더 ..
-
문자열 다루기 기본프로그래밍/알고리즘 2021. 3. 22. 16:09
def solution(s): if len(s) == 4 or len(s) == 6: for i in range(len(s)): if not s[i].isdigit(): return False return True else: return False 다른사람 풀이 1 def alpha_string46(s): return s.isdigit() and len(s) in (4, 6) * if-else를 and로 바꿔서 True/False 반환 다른사람 풀이 2 def alpha_string46(s): try: int(s) except: return False return len(s) == 4 or len(s) == 6 * 풀면서 고민했었던 예외처리로 푸는 방법
-
프로그래머스 - k번째 수프로그래밍/알고리즘 2021. 3. 22. 13:07
def solution(arr, commands): answer = [] while len(commands) != 0: command = commands.pop(0) # 2차원배열 분리 comFirstNum = command.pop(0) -1 # 뽑아진 1차원 배열에서 차례대로 pop comSecNum = command.pop(0) comLastNum = command.pop(0) - 1 # 마지막 단계인 배열에서 뽑아낼 수 selectedArr = arr[comFirstNum:comSecNum] # 뽑아진 수를 사용해 arr에서 골라냄 selectedArr.sort() # 뽑힌 수를 정렬 answer.append(selectedArr[comLastNum]) return answer 다른 사람의 풀이 1..
-
윈도우도 패키지 매니저가 있다!!!IT/Etc 2021. 3. 18. 21:15
대학교 3학년 때부터 맥을 주야장천 써왔다. 영상작업도 하고 사운드 작업도 했기에 맥을 정말 많이 사용했고 집에 있는 데스크톱은 오직 게. 임. 용.이었다. 얼마 전까지만 해도 나는 당연하게도 무엇인가를 설치하기 위해 홈페이지에 가서 다운로드 누르고 받아진 설치 파일을 클릭해 설치했는데 학원에 다니면서 개발자 도구나 프로그램들을 받아야 할 때 블로그에서 설치법을 찾아보던 도중 패키지 매니저라는 것을 알게 되었다. 예를 들면 'MySQL'이라는 걸 깔아야 할 때 자꾸 brew 어쩌고 저쩌고라고 하면서 설치하면 된다는데 그 당시엔 패키지 매니저라는 것을 몰랐기에 홈페이지 가서 깔아야지~ 하고 넘겼었지만 나중에 보니 이 녀석은 정말 무지막지하게 편한 친구였다. 터미널에 brew 토도독 치면 컴퓨터에 프로그램이..
-
'어느' 시기에 머무르고 있다.프로그래밍/개발자 기록 2021. 3. 18. 20:21
저번에 면접을 봤던 곳은 예비 1순위로 탈락하고 말았다. 어렸을 때부터 면접은 수도 없이 봐온터라 (알바면접이 제일 적다....) 질문이나 스스로의 이야기를 막힘없이 풀어냈지만 분명 나보다 더 회사의 일원으로써 어울렸던 사람이 있었겠지 라고 생각했다. 사실상 개발자로 첫번째인데 이력서인데 면접까지 간것이 나쁘지 않은 시작이라고 생각하며 넘길 수 있었다. 아마 내가 부족했던건 이후 행보에 대한 방향성과 아직 덜 깎아진 비전공자였기때문이 아니었을까. 그 이후로 나는 nodejs를 계속 들었으며 생활코딩의 목소리와 함께 웹 기초를 배워나가고 있다. 아무래도 취업을 하려면 웹이나 앱을 해야하는게 어쩔 수 없는 것 같다. 물론 서버나 백엔드 엔지니어도 있지만 내가 입문해서 배우기엔 웹/앱이. 그리고 내 성격에도 ..
-
제발 내 Request를 Response해줘....프로젝트/쌍토끼 2021. 3. 17. 19:01
결론부터 이야기하자면 마지막 어플로 빌드할 때까지 모델에 대한 수정은 계속 진행됐다. 잘 되다가도 광량이나 배경에 따라 많이 결과가 달라졌기 때문에 다른 방법이 필요했는데 팀원 형 중에 한 명이 조용히 계속 붙잡고 있더니 딥러닝 모델이 적용되는 부위를 전체에서 눈두덩이 쪽만 잡히게 코드를 짜냈다. 오우..... 대단했다. 그 형은 결론처럼 마지막까지 책임지고 계속해서 수정을 해주었다. 덕분에 더 탄탄하고 마음에 드는 결과물들을 받아볼 수 있었고 나도 어서 API를 완료해야겠다고 생각이 들었다. 딥러닝 연산은 GPU 자원을 정말 미치게 많이 사용한다. 테스트했던 GPU가 RTX 2080 super 12GB였는데 요청 하나를 받아서 연산을 돌리면 3기가를 사용하는 것이었다. 그럼 터지기 직전까지 운 좋으면 ..