매일 매일 쓰는 하루 일과 정리 - 30.03.2022.

4904 단어 독학일기독학

  • Pomodoro 로 기록한 생산성 시간은 8시간! (작성 시점에서 두 시간 더 공부할 것 감안)
  • 1시간의 백준 코딩테스트로 하루 일과 시작
  • 2시간 동안 개발 관련 영상물 시청 및 앞으로의 공부 방향성에 대해서 고민
  • 2시간 동안 정해진 양만큼 프랑스어 공부
  • 2시간 동안 운동!

알고리즘 (백준)

2750번 (정답)

const input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n');
const repeat = Number(input[0]);
input.shift();
let arr = input.map(Number);
let answer = '';
for(let i =0; i < repeat; i++){
    answer += Math.min(...arr) + '\n';
    let indexMin = arr.indexOf(Math.min(...arr));
    arr.splice(indexMin, 1);
}
console.log(answer);
// arr.sort(function(a, b){return a-b});

사용된 메서드

array.indexOf('value') : 배열 내에서 해당 값은 가진 값의 index (위치)를 반환함! 만일 해당 값이 없다면 -1이 반환됨.
array.splice(index, number) : 첫 아규먼트에 해당하는 index 에서 둘째 아규먼트에 해당하는 숫자만큼의 요소를 싹둑 잘라내는 메서드
slice() 랑은 다르게 새 배열을 생성하는 것이 아니라, 기존 배열에 변화를 주는 것임!

2751번 (정답)

arr.sort(function(a, b){return a-b});

위와 동일한 문제였고, 내장된 정렬함수의 사용을 요구함

sort() 메서드는 순서대로 정렬을 해줌. a-b-c 순으로~
그런데! string 이 아닌 숫자형 값들은 sort()로 제대로 된 정렬이 안됨!
그 이유는 문자열로 처리해버리는 바람에 1110 vs 2 를 비교할 때,
맨 앞에 있는 숫자가 더 큰 2가 더 나중에 배치됨..
따라서, arr.sort(function(a, b){return a-b}); 요로코롬 쓰는 것임.

10989, 2108 (오답)

유사한 정렬 문제였으나, 입력횟수가 많아짐에 따라 기존의 방법으로는 시간 초과 및 메모리 초과에 걸림. 하도 안 풀려서 검색을 했지만, 10989번의 경우 nodejs 로는 입력만 받아도 메모리가 초과되어서 풀 수 없다는 답변을 봄.

2108 번의 경우 최빈값을 구하는 문제를 해결하지 못했음

아쉬운 점 및 배운 점

내 머리 상식으로는 작동해야할 코드인데, 그게 컴퓨터에서도 먹힐 보장은 없다는 것을 깨달음. 어거지로 작동가능하게 만든 드러운 코드는, 많은 점을 고려하지 않았기 때문에 예외가 발생하거나 의도 밖의 동작을 할 수 있어서 그러한 듯..? 그 밖에도 시간이나 메모리 등에 있어서 제한이 있는 환경이 있을 수 있기 때문에 항상 고려해야 하는 사항이지 않을까..
극단적인 상황 (코드가 1억줄, 입력이 1억개 등)을 가정하고 짠 코드가 범용성 있는 코드가 아닐까~ 하는 생각이 듬.

시간복잡도 : 계산 복잡도 이론에서 시간 복잡도는 문제를 해결하는데 걸리는 시간과 입력의 함수 관계를 가리킨다. 컴퓨터과학에서 알고리즘의 시간복잡도는 입력을 나타내는 문자열 길이의 함수로서 작동하는 알고리즘을 취해 시간을 정량화하는 것이다. 알고리즘의 시간복잡도는 주로 빅-오 표기법을 사용하여 나타내며, 이 빅-오 표기법은 계수와 낮은 차수의 항을 제외시키는 방법이다. 이런 방식으로 표현할 때, (예를 들면, 입력 크기를 무한대로 입력하여) 시간복잡도를 점근적으로 묘사한다고 말한다.

개발 관련 영상 (라메개발자, 드림코딩)

비전공자 입장에서 나보다 뛰어날 전공자들 및 더 많이 준비한 비전공자분들과 경쟁할 생각을 하니 후달림... 시간 박치기만 해서 그들의 위치를 따라잡을 수 있을지 조금 걱정이 됨. 학원이나 부트캠프도 사용하지 않는 완전 독학인지라, 내 방향에 대해 수시로 물음표가 떠오름. 내가 가진 장점, 경쟁력이 뭔지 잘 모르겠음.
일단 조언을 얻기 위해 개발 관련 유튜브를 시청함.

라메 개발자



일단 뭘 해야 하는지 다시 점검함. 어느 방향에서 준비를 할지 다시 한 번 상기됨.
성장가능성협업능력 을 보여주어야 취업이 가능하다고 함. 좋은 개발자가 되기 위해서는 회사에서 직접 일을 하면서 배우는게 크다고 배웠기 때문에, 일단 나도 취업을 1순위 목표로 노력중.
배울 분야도 넓고 하나하나가 깊게 파면 끝이 없는 장사이기 때문에, 차례차례 내 목표치만큼 하나하나 깨나가면 더 동기부여되지 않을까 생각함.

크게 얻은 것은 없고, 개발자로 날로 먹을 생각하지 말아야지 다시 한 번 다짐이 됨. 난 이미 전공에서부터 도망쳐 나온 사람인데, 예전 버릇대로 설렁설렁하면 지금 하는 일도 죽도 밥도 되지 않을게 틀림 없음.

일단 내가 만들고 싶은 서비스가 뭔지 다시 찾아보자. 궁극적으로는 교육 웹서비스, 정신건강 관련 서비스가 있으면 참 의미 있을텐데 아직 뾰족한 아이디어도 없고 구현할 지식이나 기술도 없음. 일단 공부에 매진하고, 코딩 수련을 해야 할 듯...

프랑스어 (22D)

오늘은 숫자 표현과, voici, voilà 등에 대해 배움.

숫자

  • 서수의 표현은 : 기존 숫자 + ième
    EX) deuxième / quatrième / septième / onzième / treizième

  • 오늘 며칠이에요?
    On est quel jour? -> On est mardi trente et un mars / On est le premier décembre

  • 몇층에 살아요?
    Au quel étage vis-tu? -> J'habite au huitième étage

  • 자꾸 까먹는 숫자
    quatorze, quinze, quarante, cinquante, soixante, cinquième

voici - voilà / c'est - il est

  • voici 는 this is : 가까운 대상에 대해 얘기 / voilà 는 that is : 먼 대상
    Voici ma sœur et voilà son mari / Voici Marc et voilà Marie

  • il est 는 형용사, 무관사 명사 (직업, 국적 등) 올 때 사용 / c'est 는 정관사, 부정관사 있는 명사가 올 때 사용!
    Il est amusant / C'est un garçon très gentil

  • 근데 c'est 뒤에 형용사 오는 경우도 종종 있음! => 이거는 구체적인 대상을 수식하기 보다 전 대화에서 언급된 것들이 refer 되었을 때!
    ex) C'est joli : 아 그거 이쁘지~ / Elle est joli : 아 그 친구 이쁘지~

운동 (밀프 - 컨벤데드 - 유산소)

앉아만 있으니까 허리가 아픔. 둔근이나 기립근을 강화하고자 헬스장 다님.

밀프

  • 원래 25 키로 했는데, 오늘은 35까지 뚫어봄.
  • 밀프할 때, 하체를 확실히 고정하고 복압 딱 잡으면서 들어올려야 자세가 좋은 듯.
  • 정확히 수직으로 들어올리는데, 쇄골에서 출발해서 다시 쇄골 자리에 안착시킨다는 느낌으로 번쩍하면 잘 되는 느낌이랄까..?

컨벤데드

  • 바 내려놓을 때, 굳이 조심조심 내릴 필요가 없어서 좋음. 이때 괜히 저항하면 허리에 부담 가더라
  • 70키로 까지 중량 올림. 할만하고 더 칠 수 있을 듯. 일단 10번씩 5세트 함!
  • 바 잡을 때, 원체 넓게 잡는 습관 있었는데, 조금만 좁게 잡는게 더 집중되는 느낌이 듬. 기립근이 땅겨지는 새로운 경험함

좋은 웹페이지 즐겨찾기