![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dep7Nc/btryzp66aEC/CPM8kdeuqfyFk7j1ueIiJk/img.png)
주어진 학습목표를 이루기 위해서 이해를 우선으로 두고 공부할 것이다. 들어가기 전에 학습목표, 핵심 단어는 강의 자료를 가져올 것이고 그 이후로는 내가 이해하고 공부한 부분을 직접 적고, 마지막에는 배운 점이나 느낀 점을 적도록 하겠다. 들어가기 전에 스크래치에서 블록으로 표현했던 조건문과 루프 또한 C로 동일하게 구현할 수 있습니다. 스크래치에서 여러 기능을 가진 블록들을 이어 붙였던 것처럼 C의 다양한 문법을 이용하면 조건문과 루프를 더 간단한 텍스트 형식으로 표현할 수 있습니다. 학습 목표 조건문과 루프를 c로 작성할 수 있습니다. 핵심 단어 int if while for int int는 정수(integer)의 줄임 표현이다. 물론 변수 선언전에 타입 선언을 해줘야 하기 때문에 아래와 같이 작성..
프로그래머스 - 비밀지도 이번 문제도 잘 풀었다고 생각했는데 답안 제출 후 한 분의 풀이에서 처음 보는 문법을 알게 되어 포스팅하게 되었다. 짧다고 무조건 좋은 코드는 아니겠지만, 저렇게 할 수 있는 사람은 효율적인 코드를 알면서 일부러 짧은 코드로 제출하고 있는 게 아닌가 싶다. 이 부분에 대해선 내 풀이에 대한 설명 후 적겠다. 아무튼 능력자들! 풀이 과정 내가 푼 풀이과정을 요약하면 다음과 같다. 1. 10진수를 2진수로 변환한다. 2. arr1, arr2의 각 숫자들을 더한다. 3. 그 값이 0이라면 " "으로, 0보다 크다면 "#"을 출력한다. 1. 10진수를 2진수로 변환한다. 주어진 배열 두 개를 (arr1, arr2) 2진수로 바꾸고 보든 2진수가 주어진 n개의 숫자로 이뤄져야하므로 pa..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/pk3Ed/btrytkx3UvM/GGcdq5FiFCQgagpL7cpAS1/img.png)
주어진 학습목표를 이루기 위해서 이해를 우선으로 두고 공부할 것이다. 들어가기 전에 학습목표, 핵심 단어는 강의 자료를 가져올 것이고 그 이후로는 내가 이해하고 공부한 부분을 직접 적고, 마지막에는 배운 점이나 느낀 점을 적도록 하겠다. 들어가기 전에 문자열을 다루기 위해서는 문자열 형식을 가진 변수가 필요합니다. 사용자로부터 문자열을 입력받고 이를 다른 문자열과 합쳐서 출력하는 프로그램을 C로 작성해보겠습니다. 학습 목표 C로 문자열 형식을 가진 변수를 선언하고 출력하는 프로그램을 만들 수 있습니다. 핵심 단어 형식지정자 string make 형식지정자 지난 스크래치 강의에서 유저의 이름을 입력으로 받고, 그 유저의 이름을 불러 인사를 헀다. 이를 C로 해보면 다음과 같다. 스크래치의 ask함수와 가..
프로그래머스 - 3진법 뒤집기 주어진 n의 수를 3진법으로 바꾸고 다시 10진법으로 바꾸면서 조금 생각하다가 왠지 변환해주는 메서드가 있을 것 같아서 찾아보았다. 간단하지만 잘 알고 있으면 언젠가 또 요긴하게 쓸 것 같아 기록한다. Method Number.toString([radix]) : 숫자를 문자열로 변환하여 반환한다. 진법을 나타내는 2~36 사이의 정수값을 인수로 전달할 수 있다. 인수 생략시 기본값 10진법이 지정된다. parseInt(string, radix) : 전달 받은 문자열을 전달 받은 radix로 분석한 정수를 반환한다. 자주 썼던 메서드 두개인데 다른 진법으로도 변환이 가능한 줄은 몰랐다. 전체 답안 function solution(n) { let answer = n.toStri..
프로그래머스 - 실패율 이 문제와 비슷한 유형의 문제를 푼 적이 있어서 그런 식으로 풀었다가 시간 초과 났다.. 지금 보니까 배열을 자르고 넣고 자르고 넣고 아주 많은 연산을 해버렸다.. 작성 답안 내가 푼 풀이이다. 몇몇 테스트 케이스는 통과도 안되었고 무엇보다 성능이 좋지 않다. while문에서 크게 처리시간을 잡아먹었다. 또 실패율이 같을 때는 스테이지가(index) 작은 것부터 출력해야 되었던 부분에서 잘못 파고든 것 같다. 현재 스테이지와 스테이지에 도달한 플레이어를 나누는 부분에서 stage를 뜻하는 index i를 넣어주는 게 포인트였다. 나는 그 i 를 구하려고 index라는 변수를 새로 선언했는데 전혀 그럴 필요가 없었다. sort() 비교함수에서 그 조건들을 이미 만족시켜 반환해주기 ..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bMAewn/btryfZHmVl3/Q3kMWVmrDPjtP82acxQsm0/img.png)
주어진 학습목표를 이루기 위해서 이해를 우선으로 두고 공부할 것이다. 들어가기 전에 학습목표, 핵심 단어는 강의 자료를 가져올 것이고 그 이후로는 내가 이해하고 공부한 부분을 직접 적고, 마지막에는 배운 점이나 느낀 점을 적도록 하겠다. 들어가기 전에 그래픽 인터페이스로 상호작용성이 좋은 스크래치로도 간단한 프로그래밍을 할 수 있지만, 텍스트 기반의 프로그래밍 언어를 이용해도 컴퓨터에게 동일한 일을 하게 할 수 있습니다. 가장 널리 쓰이는 프로그래밍 언어중 하나인 C의 기초를 배워보겠습니다. 학습 목표 C로 “hello, world”를 출력하는 프로그램을 만들 수 있습니다. 핵심 단어 stdio.h clang 컴파일러 stdio.h C는 아주 오래되고 전통적인 순수 텍스트 기반의 언어이다. 아래는 "he..
프로그래머스 -폰켓몬 조금 수월하게 푼 문제는 포스팅까지 하지는 않는데 제출 후 다른 분 답변을 보고 실행해봤더니 훨씬 더 많은 테스트케이스일 경우에 처리속도가 현저히 빨랐다. 중복된 값을 제거해주는 Set 객체를 이용한 연산이었다. 나도 한 번 더 생각했으면 내가 쓴 코드에서 value값을 쓰지 않았다는 것을 알았을 텐데..! 하는 생각에 좀 아쉬웠다. 풀이 과정 *nums개수는 짝수이기 때문에 1개인 경우는 생각하지 않아도 됨. 1. 가질 수 있는 인형 개수 구하기 let getToyCount = nums/2 = 3 2. 똑같은 인형의 개수가 얼마큼 있는지 분류해주자. 3. maxCount를 구하자 3.1 key의 개수와 maxCount와 같은가? > count가 key개수보다 크거나 같을 때 성립된..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/rl47g/btrx8boLdMO/iBbhCxdInfXgi5moOGQDAK/img.png)
프로그래머스 - 체육복 최대한 피하고 싶었던 이중 for문을 썼다. 제출 후 다른 분들이 푸신 답들을 보며 확 와닿는 게 없다가 밑부분에서 발견했다. 내가 썼던 이중 반복문을 filter()와 find()를 이용하였고 , shift()를 쓰지 않고 delete라는 연산자를 써서 더 효율적인 코드 같았다. 풀이과정 CS50강의를 들으며 의사 코드이라는 코드 표현 방식을 알게 된 후로 더 적극 활용하게 되었다. 물론 완벽한 형식의 의사 코드는 아니지만..:) 엊그제 예외처리로 애를 먹었던 경험이 있어서 오늘은 모든 경우를 생각하려고 노력했다. 1. 중복의 제거, lost에있는 번호와 reseve에 있는 번호가 같으면 lost, reserve 둘 다 배열에서 빼준다 (filter) 1.2 lost, reser..
- Total
- Today
- Yesterday
- css
- 리액트네이티브
- 타입스크립트
- 모두를 위한 컴퓨터 과학
- React
- 프로그래머스
- 무한스크롤
- javascript
- network
- cs50
- 자바스크립트 클로저
- 백준
- 실전프로젝트
- 자바스크립트
- 항해99
- 클로저
- html
- React Query
- 프로그래머스 베스트앨범 자바스크립트
- 리액트
- GIT
- 모두를위한컴퓨터과학
- 자바스크립트 비동기 처리
- reactquery
- 프로그래머스 자바스크립트
- 자바스크립트알고리즘
- 알고리즘자바스크립트
- python
- github
- 네트워크
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |