본문 바로가기

전체 글33

2023년 11월 4주 (11.27~12.03) ◾ 목표 ❎ 강의 완강 및 과제 완성 ✅ 특별한 일정이 없는 날, 퇴근 후 3시간 공부 루틴 잡아가기 11월 27일~28일, 12월 2일은 이사 일정(업체 상담, 입주청소(셀프) 등)으로 여유가 없다. 조금씩 시간을 잡아간다는 느낌으로 접근하자. ✅ 1주차 강의 추가 수강하며 개발노트 재정비. 단, 3주차 강의 수강에 영향을 끼치지 않을 정도의 시간만 투자한다. ◾ Problem PROBLEM TRY 개인 일정으로 인한 시간 부족 특별한 일정이 없는 날 위주로 공부한다. 공부는 앞으로 계속 가져갈 습관이니까 잠깐 발생하는 문제들로 초조해하지말자. ◾ 다음주 목표 강의 완강 및 과제 완성 특별한 일정이 없는 날, 퇴근 후 3시간 공부 루틴 잡아가기 11월 27일~28일, 12월 2일은 이사 일정(업체 상담.. 2023. 12. 8.
2023년 11월 3주 (11.20~11.26) ◾ 목표 ✅ 개발 환경 세팅과 JSX 강의 완강 ❎ 매일 하루 3시간 공부 루틴 잡아가기 ◾ Problem - Try PROBLEM TRY 개인 일정으로 인한 시간 부족 - 11월 21일~22일, 25일 집 구하기 투어 - 11월 26일 짐 정리 및 청소 이사일(12월 첫째주)까지는 최소한의 공부(강의 듣기, 노트 정리 등)를 위주로 진행한다. 어쩔 수 없는 일정이니 받아들이자. 😏 수업 내용에 대한 이해도 부족 - 생소한 용어들의 충분한 이해가 필요하다. 기본 수업 진도를 가볍게 따라가며 이전주 차 수업을 복습하며 작성했던 노트를 보완한다. ◾ 다음주 목표 강의 완강 및 과제 완성 특별한 일정이 없는 날, 퇴근 후 3시간 공부 루틴 잡아가기 11월 27일~28일, 12월 2일은 이사 일정(업체 상담, .. 2023. 11. 26.
2023년 11월 2주 (11.13~11.19) 목표 개발 환경 세팅 강의 듣기 매일 하루 2시간 공부 루틴 잡아가기 문제점 공부할 내용에 비해 시간이 부족했다. 금요일~일요일 이사갈 집 구하는 일정으로 스터디 부재😥 하루 2시간으로는 부족함을 느꼈다. 다음주 목표 개발 환경 세팅과 JSX 강의 완강 매일 하루 3시간 공부 루틴 잡아가기 2023. 11. 23.
[HTML] Semantic tag Semantic markup(의미론적 마크업)이란? 일반적인 Markup tag에 의미를 부여하여 Web page를 일종의 데이터 베이스처럼 이해할 수 있도록 돕는 방식을 말한다. 기존의 웹 문서는 , , 등의 일반적인 Markup tag를 사용하여 작성되었는데, 이 태그들은 문서 내에서 요소가 그려지는 방식에 따라 사용이 결정되며 그 요소의 의미를 나타내지는 않았다. 이후 웹 문서를 요소의 의미에 따라 구성하는 Semantic markup이 등장했고 일반적인 Markup과 비교하여 아래와 같은 이점을 갖게 되었다. 검색 엔진 최적화(SEO)에 유리하다. 스크린 리더가 웹 페이지를 이해하고 탐색하는데 도움을 준다. 즉, 웹 접근성을 높일 수 있다. 기본적인 문서 구성을 정형화하여 다양한 웹 문서를 탐색할.. 2023. 8. 22.
[Programmers] 133499.ts 옹알이 (2) 아래와 같이 해결. function solution(babbling: string[]): number { let answer: number = 0; for (let str of babbling) { if (str.match(/aya(aya)+|ye(ye)+|ma(ma)+|woo(woo)+/g)) continue; if (!str.replace(/aya|ye|woo|ma/g, "")) answer++; } return answer; } 어렵지 않게 푼 문제이나 다른 사람의 풀이에서 아래와 같은 정규표현식 사용을 확인해서 포스트를 남긴다. function solution(babbling) { const regexp1 = /(aya|ye|woo|ma)\1+/; const regexp2 = /^(aya|ye|w.. 2023. 7. 14.
[Programmers] 120911.ts 문자열 정렬하기 (2) 문제는 간단하게 해결 function solution(my_string: string): string { return my_string.toLowerCase().split('').sort().join(''); } 다른 사람의 풀이에서 string을 array로 변환할 때 split(' ') 대신 전개구문 [... ] 을 사용한 방식을 발견했다. 테스트해보니 split(' ')을 사용한 방식보다 전개구문을 사용한 방식이 더 빨랐다. function solution(my_string: string): string { return [...my_string.toLowerCase()].sort().join(''); } 2023. 7. 14.
[Programmers] 131128.py 숫자 짝꿍 문제 그대로 풀었으나 시간 초과로 실패! def solution(X, Y): arr_z = [] arr_x = sorted(list(X), reverse=True) arr_y = list(Y) for num in arr_x: if num in arr_y: arr_z.append(num) arr_y.remove(num) return str(int(''.join(arr_z))) if len(arr_z) else "-1" arr_x를 정렬하는 대신 필터링이 끝난 arr_z를 정렬해서 약 50%로 시간이 감소되었으나 여전히 시간 초과 실패했다. 위 코드와 거의 비슷해서 코드 첨부는 생략. dictionary 형식으로 구조를 만들면 반복 횟수를 10회로 고정해서 풀 수 있겠다 생각해서 아래와 같이 해결. def .. 2023. 7. 11.
[Programmers] 12973.py 짝지어 제거하기 먼저 문제 그대로 풀었으나 역시나 시간초과로 실패. 사실 문제 그대로 풀기는 테스트를 통과해야겠다는 마음보다 어떤 식으로 접근하면 풀리겠구나, 하는 찔러보기 느낌. def solution(s): index = 1 arr = list(s) while True: if index >= len(arr): break if arr[index-1] == arr[index]: arr.pop(index) arr.pop(index-1) index = 1 if index - 1 0 and c == arr[-1]: arr.pop() else: arr.append(c) if arr: return 0 else: return 1 그렇게 위 코드로 해결. 그동안의 경험으로 연산 횟수를 줄이려면 method 사용을 줄이는 편이 좋다... 2023. 7. 6.