비전공자 공부일기
-
[디버그] 쉘에서 스프링부트 애플리케이션 실행하려다 gradle 관련 오류났을 때 - JAVA_HOME 등비전공자 공부일기/::::: 묻고 답찾기 2021. 11. 17. 23:56
새로운 플젝 시작하면서 환경 빌드업을 하는데 이런저런 변수들이 많이 생긴다. 오류 잡는 과정에서 나와 같은 사람들이 있을거라 생각하며 작성해본다. 예상 유입 키워드> Please set the JAVA_HOME variable in your environment to match the location of your Java installation. 'gradle'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 위와 같은 에러 메시지를 보고 검색해서 여기까지 왔다면 아마 Spring Boot 환경설정 중에 cmd, 파워쉘 등 쉘에서 gradlew를 실행하려고 하다가 여기까지 유입되었을 것이다. (나같은) 초보가 많을테니 혹시나 그래들이 뭔지 모르고 시키는 대로 하고 ..
-
토스Toss 개발자 컨퍼런스 시청 - 메모리에 남지 않는 문자열비전공자 공부일기/::::: 묻고 답찾기 2021. 10. 26. 23:48
요즘 토스의 행보가 참 대단하다. 간편송금, 금융정보 스크랩핑 서비스에 지나지 않았던 것 같다고 느낀 게 최근이었는데 눈 깜짝할 사이에 금융그룹사로 거듭나며 여러 서비스들을 잠식해나가고 있다. 관심을 갖고 알아보던 차, 토스에서 유투브 채널을 열고 자신들의 문화, 개발스토리, 상품스토리를 올리고 있는 것을 보았다. 재밌게 하나하나 보던 중에 개발 이야기는 발상과 기술 모두 알아두면 좋을 것 같아 천천히 소화시키며 보고 있다. 그리고 영상 내용 중에 알게 되는 내용들을 기록해 두기로 한다! SLASH21 / 메모리에 남지 않는 문자열 / 안정원님 * 구조체 Struct 구조체란? 서로 다른 자료형의 데이터를 하나로 묶은 것 cf) 배열? 서로 같은 자료형의 데이터를 하나로 묶은 것 C의 구조체가 자바에서는..
-
[알고리즘] 최대공약수 구하기 - 파이썬비전공자 공부일기/:: ALGORITHM 2021. 10. 20. 22:31
방식 1. 큰 수에서부터 나눠보며 깎아나가기(?) def solution(a, b): i = min(a, b) while True: if a % i == 0 and b % i == 0: return i i = i - 1 방식 2. 유클리드 # 유클리드 알고리즘 # 수학자로 유명한 유클리드(Euclid)의 발견에 따르면, 최대공약수에 다음과 같은 성질이 있다. # a와 b의 최대공약수는 'b'와 'a를 b로 나눈 나머지'의 최대공약수와 같다. 즉, gcd(a, b) = gcd(b, a%b) # 어떤 수와 0의 최대공약수는 자기 자신이다. 즉, gcd(n, 0) = n def solution(a, b): if b == 0: return a return solution(b, a%b)
-
[자료구조] List, Set, Map 비교 (feat.파이썬)비전공자 공부일기/:: Computer Science 2021. 10. 18. 19:30
자주 쓰이고 중요하다고 생각하는 자료구조의 개념. 몇 번 공부하고 이해하고 해도 안 쓰다보면 금새 잊어버린다. 현 직장은 자료구조 고민할 일이 별로 없다보니 금새 까먹고 있었다. 이번에 알고리즘 공부하면서 안할 수가 없어서 다시 손에 잡음. 고로 다시 내용정리, 오늘은 List, Set, Map을 정리해본다. 세 자료구조의 차이점 중복허용 순서보장 List O O Set X X Map X (Value중복은 O) X 파이썬의 List 자료형 객체를 일렬로 늘어놓은 구조로 되어있다. 객체를 인덱스로 관리하기 때문에 순서가 보장된다. List 컬렉션은 객체 자체를 저장하는 것이 아니라 객체의 번지를 참조한다. 동일한 객체를 저장할 수도 있는데 이 때도 동일한 객체의 번지를 참조하게 된다. 또한, null도 저..
-
[Solv:프로그래머스] 그리디 Greedy - 조이스틱비전공자 공부일기/:: ALGORITHM 2021. 10. 13. 23:58
문제 설명 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다음 알파벳 ▼ - 이전 알파벳 (A에서 아래쪽으로 이동하면 Z로) ◀ - 커서를 왼쪽으로 이동 (첫 번째 위치에서 왼쪽으로 이동하면 마지막 문자에 커서) ▶ - 커서를 오른쪽으로 이동 예를 들어 아래의 방법으로 "JAZ"를 만들 수 있습니다. - 첫 번째 위치에서 조이스틱을 위로 9번 조작하여 J를 완성합니다. - 조이스틱을 왼쪽으로 1번 조작하여 커서를 마지막 문자 위치로 이동시킵니다. - 마지막 위치에서 조이스틱을 아래로 1번 조작하여 Z를 완성합니다. 따라서 11번 이동시켜 "JAZ"를 ..
-
[Solv:프로그래머스] SQL JOIN - 보호소에서 중성화한 동물비전공자 공부일기/:: ALGORITHM 2021. 10. 11. 20:15
문제설명 보호소에서 중성화 수술을 거친 동물 정보를 알아보려 합니다. 보호소에 들어올 당시에는 중성화1되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생물 종, 이름을 조회하는 아이디 순으로 조회하는 SQL 문을 작성해주세요. 내 풀이 구질구질하게 풀었음. 내가 좋아하는(?) not in 쓰는 이중쿼리와 조인문 둘다 쓴 버전 SELECT INS.ANIMAL_ID, INS.ANIMAL_TYPE, INS.NAME FROM ANIMAL_INS INS LEFT JOIN ANIMAL_OUTS OUTS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID WHERE 1=1 AND INS.SEX_UPON_INTAKE like 'Intact%' AND OUTS.SEX_UPON_OUTCOME NO..
-
[Solv:프로그래머스] SQL JOIN - 오랜 기간 보호한 동물(1)비전공자 공부일기/:: ALGORITHM 2021. 10. 11. 19:27
문제 (너무 길어서 핵심만 가져옴) 아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물 3마리의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일 순으로 조회해야 합니다. 내 풀이 썰풀기 - 이중쿼리 원래 JOIN문 써서 풀어야 하는데 내가 실제로 회사에서 젤 많이 쓰는 방법으로 풀음 그것은 바로 NOT IN을 이용한 이중쿼리 보호소에 들어온 동물들(ANIMAL_INS 테이블) 중에서 입양간 동물들(ANIMAL_OUTS 테이블)이 없으면 아직 입양 못갔다는 말이므로(문제에 감정이입되네 슬펑..) 이 중에서 날짜로 정렬한 뒤 3줄만 뽑으면 된다. 1. 입양 못 간 동물들 걸러내기 ---- ANIMAL_ID NOT IN (SELECT ANIMAL ID FROM ANI..
-
[ORACLE/MYSQL] 3줄의 데이터만 조회하기비전공자 공부일기/:: DB - SQL 2021. 10. 11. 13:46
SQL 코테를 풀다보면 '조건에 맞는 3줄의 데이터만 출력하세요' 라는 문장이 많이 보인다. 혹은 '가장 ~~한 데이터를 보여주세요' 라는 말이 나오기도 한다. 모두 조회된 전체 값 중에 일부 조건을 만족하는 상위 랭크를 구해야 된다는 점이 같다. 이 때 쓸 수 있는 것들 (1) MY SQL SELECT * FROM TABLE_NM WHERE COLUMN_NM NOT IN (서브쿼리) ORDER BY COLUMN_NM LIMIT 3 (2) ORACLE SELECT * FROM TABLE_NM WHERE COLUMN_NM NOT IN (서브쿼리) ORDER BY COLUMN_NM FETCH FIRST 3 ROWS ONLY (3) ORACLE SELECT * FROM TABLE_NM WHERE COLUMN_..
-
[Solv:프로그래머스] 정렬 - 가장 큰 수 파이썬으로 풀기비전공자 공부일기/:: ALGORITHM 2021. 10. 11. 13:18
문제설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 내가 작성했던 의사코드 ** keypoint ** 1)..
-
[Solv:프로그래머스] 정렬 - K번째 수 파이썬으로 풀기비전공자 공부일기/:: ALGORITHM 2021. 10. 11. 13:01
요즘 알고리즘 공부를 다시 시작하면서 기왕이면 파이썬으로 풀기로 했다. 코테준비는 파이썬 또는 C++로 하라고 들었었는데, 새로운 언어를 배우는 것이 영 부담이었다가 언젠가는 파이썬을 배워야 내가 원하는 커리어상 다음 스텝을 갈 수 있을거라 생각했고 그렇다면 기왕이면 지금부터 익숙해져 놔서 손해볼 것이 전혀 없었다고 판단했다. 간단한 문법정도 배웠다가 까먹기를 몇 번 했던 파이썬. 이번에 다시 손에 잡아보니 확실히 처음에는 읭?? 하다가 익숙해지니까 증맬루 개사기언어다.... 너무 편하자넝 비전공자 시절에 개발을 아예 모르고 파이썬 배워야 할까? 자바 배워야 할까? 고민했던 게 떠올랐다. 파이썬 배우고 자바로 넘어가려 했으면 나 걍 포기했을듯.... 자바로 시작하길 잘했다. 무튼 잡썰은 그만두고 문제 솔..