전체 글 34

링크드인 URL 수정하는 방법

개발자라면 링크드인을 해야한다. 즉, 이력관리하라는 소리다. (일한답시고 전혀 못하고 있다.) 링크드인을 해야하는 이유 크게 3가지다. 1. 업계 1위다. 세계에서 규모가 가장 크다. 해외까지 2. 인맥이 된다. (일촌 시스템) 3. 번번히 나의 이력에 대해서 설명하지 않아도 된다. 싸이월드 감성에 기업을 더하면.. 이런그림. 그러나 한국인이 자기 url을 보내서 1촌을 맺으려다보면 한글이 들어가있거나 할 때 URL 링크가 깨지게 된다. 이런 이상한 문자가 들어가있으면 왠지모르게 깨림찍하거나 기분이 이상하다. 내가 이런 링크를 받았다고 생각해보자. 누르고 싶지 않아진다. 아무리 직업이 개발자라도 이 문자를 해석해서 읽으려 하지 말자. 존경하는 시니어 개발자께서 이런말을 하셨다. 링크드인 1촌 주세요는 뭔..

카테고리 없음 2023.04.15

[python] 최대공약수와 최소공배수

기본적인 개념은 javaScript 와 동일하기 때문에 개념은 아래 링크를 참고하면 좋다. [javascript] 최대공약수와 최소공배수 알고리즘 공부하면서 초등학교 수학으로 돌아가는 경우가 종종 발생했다. 그 중에 하나가 바로 최대공약수와 최소공배수였다. 최대 공약수, GCD : Greatest Common Divisor 두 수 A와 B의 공통된 약수 중 ihyeonspoa.tistory.com 최대공약수를 구하는 방법 def getGcd (num1, num2): gcd = 1 #작은 숫자까지만 범위 지정 minValue = num1 if num1 < num2 else num2 #range(start,end,step)의 end 파라미터는 해당 숫자까지 가지 않음. for x in range(2,minV..

[분수의 덧셈] 최대공약수와 최소공배수로 분수를 더해보자.

초등학교 때 풀었던 분자끼리 덧셈인데 이걸 코드로 하려니 왜이렇게 머리가 안도는지 힘들었다. 심지어 코딩테스트 입문에 있는 문제인데.... 여기서 현타가 좀 왔었다. 문제 첫 번째 분수의 분자 = number1, 분모 denom1 두 번째 분수의 분자 = number2, 분모 denom2 위와 같이 분자와 분모가 있는 분수가 주어졌을 때, 이 두 분수를 더한 값을 분자와 분모를 순서대로 담은 배열을 return 하라. 단, 기약 분수로 표현해야한다. *제한사항 이 분수는 전부 0보다 크고 1000보다 작다. cf. 영어로 분자는 numerator, 분모는 denominator 라고 한다. pseudo code 1. 분수끼리 더하려면 분모를 최소공배수값으로 바꿔줘야 한다. 2. 최소공배수에 곱한 값 만큼 ..

GCD, LCM을 구하는 가장 효율적인 방법(유클리드 호제법)

최대공약수(GCD) 와 최소공배수(LCM)를 구한다면 알아두어야 할 것이 있었다. (문제 풀다보니 자꾸 틀리단다.) 특히나, 알고리즘을 통해서 접근할 때는 효율성에 입각해서 이것을 써야하는 경우가 있다. 시간복잡도를 줄여야 하는 경우가 있다. 그경우 사용할 수 있는 것이 바로 유클리드 호제법이다. 이전에 살펴본 바와 같이 GCD와 LCM은 시간복잡도가 각각 O(N)이다. 이미 O(N)도 훌륭하지만.. 이것을 O(logN)으로 만드는 것이 바로 유클리드 호제법이다. 문송한 관계로 이해하는데 큰 어려움과 궁금증이 있었다. (분명 초중시절 배운걸텐데 1도 기억이 안난다...) 그것을 토대로 문송한 사람이 이해하는 과정에 대해서 포스팅 해본다. 최대공약수와 최소공배수에 대한 개념은 아래 포스팅. [javascr..

최대공약수와 최소공배수

알고리즘 공부하면서 초등학교 수학으로 돌아가는 경우가 종종 발생했다. 그 중에 하나가 바로 최대공약수와 최소공배수였다. 최대 공약수, GCD : Greatest Common Divisor 두 수 A와 B의 공통된 약수 중에 가장 큰 정수이다. 4와 2의 최대공약수는 무엇일까? 직관적으로 1초만에 답이 나온다. 2다. 왜냐하면 2는 4를 나눌 수 있는 가장 큰 약수이며, 2는 자기 자신을 약수로 하기 때문이다. 몸(?)은 이미 알고 있다. 하지만 이걸 코드로 구현하자니.. pseudo code에 대해 생각해보기로 했다. 1. 숫자를 2개 받아야 한다. 2. 루프를 돌며 각각의 수를 나누어서 둘다 나머지가 0이 되는 '약수'를 먼저 찾는다. 3. 그중에서 가장 큰녀석을 도출한다. +추가적으로 생각해봐야할 것..

Let's get contracts written up!

계약서 작성합시다! write something up to write something in a complete or final form using notes that you have made: -> 채우다. 작성하다. ex > Have you written up that report yet? Let's get contracts written up! 따라서 written up 인경우 sign the contract.가 되는 것. 또한 written up -> 쓰여지다. 수동퇴 된 느낌. I got written up because I was late today. 늦잠자서 (보스나 상사에게) 보고되었어. write someone up -> 누군가의 (보고서를) 작성하다. cf. local franchise..

10.22 강의 클로저와 매개변수

실행 컨텍스트 Execution context 우리가 작성한 코드가 실행되는 환경 환경정보가 담긴 객체 전역 컨텍스트 window, scope, hoisting, this, function, closure 등등 함수 컨텍스트 함수가 실행될때 불러지는 컨텍스트 호이스팅 변수가 선언되기 전에 유효하다. 코드를 읽고나서 선언하기 전에 이미 전역이든 로컬이든 할당이 되어있다. console.log("hello"); debugger; var a =5; function aaa(){ var a = 0; console.log("a?"); } console.log(a); aaa(); *변수는 정의부만, 함수는 전체가 호이스팅 된다. 스코프 실행하는 위치에서 바로보고 있는 곳, 유효범위 스코프 체인 실행하는 위치에서 없으..

[Js] "" == 0 return true. js에서 ""과 0은 같다.

1 + 0 이 10이 되는 기적. (feat. typescript가 필요한 이유) js의 특성을 생각하면 간단한 일인데, 가끔 얻어걸리는 버그 아닌 버그에 당황스러울 때가 종종있었다. java를 쓰다보면 그놈의 타입때문에 parse 하느라고 귀찮을 떄가 많았다. 하지만 js는 그런걸 안하다 보니 편하다고 생각했었는데 명시되지 않은 타입의 변수는 의도치 않은 에러를 종종 야기한다. var로 정의하면 js가 적절히 알아서 타입을 지정하는 것은 분명 편해 보이지만, 나중에 뜻하지 않은 에러나 버그를 수정 하다보면 도찐 개찐인것 같다. 숫자와 숫자끼리 더했을 때, 설령 0일지라도 둘다 number + number 를 했음에도 불구하고 가끔 0이 String이 되어있는 경우가 많다. 정확하진 않지만 특히 해당 변..

신고결과 받기

문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다. 유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지를 시키면서 정지 메일을 발송합니다. 생각의 흐름을 적어보았다. - 한 번에 한 명의 유저만 신고할 수 있다. -> 중복 불가 -> set이..