본문 바로가기

분류 전체보기448

[Babel] 바벨이란 ? 바벨은 자바스크립트 컴파일러이다. 컴파일러란 ? 컴파일러는 특정 프로그래밍 언어로 작성된 코드를 '다른 프로그래밍 언어'나 컴퓨터 프로세서가 이해할 수 있는 '기계어'로 변환하는 프로그램이다. 즉, 인간이 사용할 수 있는 언어로 작성된 프로그램을 전체 코드에 대한 오류를 검사하고 기계어로 된 프로그램으로 출력하는 번역기이다. 컴파일 뒤 실행파일을 생성한다. 하지만 자바스크립트는 컴파일러가 아닌 인터프리터로 동작한다. 인터프리터란 ? 인터프리터는 특정 프로그래밍 언어로 작성된 코드를 '기계어'로 변환하는 프로그램이다. 인간이 사용할 수 있는 언어로 작성된 프로그램을 실시간으로 읽어 한 줄씩 번역한다. 한 줄씩 읽을 때마다 해당 줄에 오류가 있는지 확인한 후, 그 줄을 기계코드로 변환한다. 또한 실행파일을 .. 2023. 7. 14.
[프로그래머스] 바탕화면 정리 def solution(wallpaper): left_top = [49,49] right_down = [0,0] row_l, col_l = len(wallpaper), len(wallpaper[0]) area = [[""]*col_l for _ in range(row_l)] for i,row in enumerate(wallpaper): for j,item in enumerate(row): area[i][j] = item if item == "#": left_top[0] = min(left_top[0],i) left_top[1] = min(left_top[1],j) right_down[0] = max(right_down[0],i+1) right_down[1] = max(right_down[1],j+1) r.. 2023. 6. 23.
[프로그래머스] 공원 산책 def solution(park, routes): row_l = len(park) col_l = len(park[0]) start_location = (0,0) route_list = [] area = [[""]*col_l for _ in range(row_l)] for i,row in enumerate(park): for j,item in enumerate(row): area[i][j] = item if item == "S": start_location = [i,j] for i in routes: route_list.append((i[0],int(i[2]))) for i in route_list: d, n = i[0], i[1] exist_x = False if d == "N": if (start_lo.. 2023. 6. 23.
[프로그래머스] 추억점수 def solution(name, yearning, photo): answer = [] # {'may': 5, 'kein': 10, 'kain': 1, 'radi': 3} name_dict = {name:yearning[i] for i,name in enumerate(name)} for i,row in enumerate(photo): total = 0 for j,col in enumerate(row): if name_dict.get(col) != None: total += name_dict[col] answer.append(total) return answer 이번 문제는 사전 자료형을 사용하여 간단하게 풀 수 있던 문제였다. 여기서 기억해야 할 점은 사전 자료형에서 어떠한 값을 접근할 때 get() 메.. 2023. 6. 23.
[프로그래머스] 달리기 경주 def solution(players, callings): # {'mumu': 0, 'soe': 1, 'poe': 2, 'kai': 3, 'mine': 4} player_dict = {player:rank for rank,player in enumerate(players)} # {0: 'mumu', 1: 'soe', 2: 'poe', 3: 'kai', 4: 'mine'} rank_dict = {rank:player for rank,player in enumerate(players)} for call in callings: call_index = player_dict[call] prev_index = call_index -1 player_dict[rank_dict[call_index]], player_di.. 2023. 6. 23.
[Next.js] router.query 사용 시 'undefined' 오류 해결 이번 SW 캡스톤디자인 프로젝트에서 대회 페이지를 제작하던 중 대회 id를 query로 받기 위해 useRouter Hook을 사용하다가 router.query 값이 'undefined'로 들어오는 오류가 발생했다. 이전 페이지에서 쿼리 값을 전달해줬을 경우에는 문제가 발생하지 않았는데, 새로운 경로로 접속하거나 뒤로가기를 했을 경우에 이러한 오류가 발생했었다. 이는 Next.js의 정적 파일 최적화(Automatic Static Optimization)로 인해 라우트 매개 변수가 제공되지 않기 때문이라고 한다. 정적 파일 최적화(Automatic Static Optimization)란 ?Next.js는 페이지가 데이터 요구사항이 없으면(즉, 서버에서 데이터를 가져올 필요가 없으면) 정적(사전에 렌더링 .. 2023. 6. 15.