전체 글

https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 단순하게 players 배열을 순회하는 방식으로 구현을 한다면, 당연하게 시간초과가 나는 문제였다. 파이썬의 dictionary 자료구조를 이용해서 인덱스를 value로, 이름을 key로 갖는 dict로 바꿔서 인덱스를 더 빠르게 알아낼 수 있도록 구현해야 한다. enumerate 메소드를 사용해서 리스트를 dictionary로 변환하는 문법에 익숙하지 않아 구글링을 했는데, 앞으로 많이 쓰일 ..
https://www.acmicpc.net/problem/18310 18310번: 안테나 첫째 줄에 집의 수 N이 자연수로 주어진다. (1≤N≤200,000) 둘째 줄에 N채의 집에 위치가 공백을 기준으로 구분되어 1이상 100,000이하의 자연수로 주어진다. www.acmicpc.net 처음에는 그리디 문제라는 걸 깨닫지 못하고.. 거리를 직접 구해서 비교하려고 하다가 그림을 몇 번 그려보니.. 그냥 정렬을 해서 중간 값을 출력하면 된다는 것을 깨달았다. 이렇게 간단하게 풀리는 문제였다니! 항상 그리디를 의심하자.. import sys input = sys.stdin.readline N = int(input()) house = list(map(int, input().split())) house.sort..
https://www.acmicpc.net/problem/5014 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net 아파트 층을 한 방향으로 연결된 그래프(리스트) 라고 생각을 하고 BFS로 풀면 간단히 풀 수 있는 문제이다. graph 배열을 만들어서 INF로 채워넣고, 처음 방문하게 되면 이전 위치의 값에서 1을 더한 값을 저장했다. import sys from collections import deque input = sys.stdin.readline F, S, G, U, D = map(int, input().spli..
https://www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net 0과 1이 모여있는 집단(?) 의 갯수를 구해서 더 적은 쪽을 출력하면 되는 문제였다. cnt = [0, 0] 을 만들어서 주어진 문자열을 순회하면서 앞의 문자와 뒤의 문자가 달라질 때마다 해당하는 인덱스에 카운트를 했다. 이때 주의할 점은 '0011' 과 같은 경우에 마지막 11이 카운트가 되지 않기 때문에 주어진 문자열의 맨 뒤에 '2'를 추가해서 무조건 카운트가 되도록 했다. import s..
https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 처음에는 정말 단순하게 이중 for문을 사용해서 생성자가 있는지 없는지 체크하는 방식으로 아래와 같이 코드를 작성했다. for i in range(1, 10001): flag = True for j in range(1, i): num = j for k in str(j): num += int(k) if (num == i): flag = False b..
https://www.acmicpc.net/problem/11501 11501번: 주식 입력의 첫 줄에는 테스트케이스 수를 나타내는 자연수 T가 주어진다. 각 테스트케이스 별로 첫 줄에는 날의 수를 나타내는 자연수 N(2 ≤ N ≤ 1,000,000)이 주어지고, 둘째 줄에는 날 별 주가를 나타 www.acmicpc.net 아이디어를 찾는 게 꽤나 어려웠던 문제이다. 처음에는 가격을 그래프로 그렸을 때 꼭짓점을 찾아서 꼭짓점의 앞에서 주식을 사고 꼭짓점에서 팔고, 또 계속 사다가 다음 꼭짓점에서 팔고 이런 식으로 하면 되지 않을까? 싶었지만 꼭짓점이 고점이 아닌 경우 해당 지점에서 주식을 매도하는 것보다 주식을 매수하는 게 더 이득이 크기 때문에 해당 접근 방식은 틀렸다. 단순하게 다시 생각해보니, 일단..
데이터 타입의 종류 기본형(Primitive Type) : 값이 담긴 주소값을 바로 복제 Number, String, Boolean, null, undefiend, Symbol 참조형(Reference Type) : 값이 담긴 주솟값들로 이루어진 묶음을 가리키는 주솟값을 복제 Object Array, Function, Date, RegExp, Map, WeakMap, Set, WeakSet 데이터 타입에 관한 배경지식 메모리와 데이터 C/C++, JAVA 등의 정적 타입 언어는 메모리 낭비를 최소화하기 위해 데이터 타입별로 할당할 메모리 영역을 2바이트, 4바이트 등으로 나누어 정해놓았습니다. (ex. short = 2바이트) 하지만 자바스크립트는 메모리 용량이 과거보다 월등히 커진 상황에서 등장했기 때..
Intro 내가 했던 프로젝트 중 제일 길었던... 캡스톤 디자인 프로젝트가 끝나간다.. 드디어..! 😇 작년 2학기에 시작하고, 대부분 방학 중에 많이 개발을 했는데 웹 개발을 대강 마무리한 후부터는 얼굴 인식 모델을 fine-tuning하는 데 시간을 많이 썼던 것 같다. 나는 fine-tuning에 필요한 데이터를 수집하고 전처리하는 과정을 주로 맡았는데 fine-tuning을 맡은 친구가 고생을 많이했다.. 학교에서 GPU 지원을 방학중에 해주거나 작년 2학기때부터 해줬으면 참 좋았을 텐데.. 우리 팀 프로젝트의 주제는 RPA와 AI를 이용한 유사 얼굴 탐색 서비스 (Find your Face, Fedi) 이다. 주제에 대한 설명은 이전 게시물에 더 자세히 적어놨으니 궁금하신 분들은 참고하시길....
· 오류😬
https://www.inflearn.com/questions/29959 [참고] MongoDB 접속 오류 : querySrv ENODATA - 인프런 | 질문 & 답변 강좌에서 소개한 것처럼 Github 에서 boiler-plate 를 받아서 npm run dev 를 할 떄 다음과 같은 오류가 발생했습니다. 제 경운 콘솔에선 다음과 같은 에러 로그를 출력했고 실행된 브라우저에서는 로그 www.inflearn.com 위의 링크 내용을 참고했다. 너무 친절하게 설명을 잘 해 주셔서.. (버전만 바꾸면 해결되는 문제였다. 뭐가 문제니?!) 보니까 공용 와이파이를 사용하는 경우 에러가 발생한다던데, 그 중 보이는 익숙한 WSL... ㅎㅎㅠㅠ WSL2가 나름 가볍고 편한데 정말 예상치 못한 에러가 너무 많이 발..
2.0 Account + NewAccoun 지난번에 했던 실습 코드는 일단 주석처리를 하던지 지우고, 새로운 프로젝트 시작. accounts라는 폴더를 만들고 accounts.go 라는 메인 파일을 만든다. 여기서는 컴파일을 진행하지 않을 것이기 때문에 이름이 main.go 가 아니더라도 상관 없다. 여기서 account라는 struct를 선언하고 다시 main.go에서 그 struct를 생성할 것이다. 가장 간단하고 직관적으로 생각한 방법은 accounts.go 안의 account struct와 그 안의 owner, balance 같은 속성을 모두 대문자로 시작하도록 작성해서 public으로 선언하는 것이다. 하지만 이렇게 하면 누구나 접근할 수 있어 보안적인 측면에서 좋지 않기때문에 construct..
호프
Untitled