25번부터 32번까지 시간초과난 코드. 아마 2중 포문을 사용해서 시간초과가 난 것같다. def solution(record): #딕셔너리를 사용하여 Enter Change 일때 그에 맞는 닉네임으로 해시의 값을 바꾸면 됩니다 answer = [] res = [] for i in record: temp = i.split() res.append(temp) for i in range(len(res)): for j in range(0, i): if res[i][1] == res[j][1]: if res[i][0] == 'Change' or res[i][0] == 'Enter': res[j][2] = res[i][2] else: #Leave res[i].append(res[j][2]) for i in range..
위클리 문제라고해서 풀어봤다 def solution(price, money, count): res = 0 for i in range(1,count+1): res += price*i if res >= money: answer = res -money else: answer = 0 return answer 그냥 반복문을 count번만큼 돌면서 가격을 곱한것을 다 더해주었다가 그 값이 가지고 있는 돈money보다 커지면 money를 빼서 리턴시킨다. 만약 res가 money보다 작을 수도 있으니까 그럴 땐 돈이 부족하지 않다는 의미이다. 그래서 리턴 0
N=int(input()) res = 0 s = len(str(N)) if s == 1: res = N else: for i in range(2,s+1): res += (9*(10**(i-2))*(i-1)) res += (N-(10**(s-1)-1))*s print(res) 한 자리 수 일 때는 받아온 N그대로이니까 N출력 한자리수 이외에는 만약 3자리수이라면 한자리수 * 9개, 두 자리수* 90개를 모두 더해준뒤 N-99(두자리수중 가장 큰것)을 하면 세자리수의 갯수가 나온다. 그래서 그 갯수에 *3을 한 것을 더해줘서 출력했다.
E1,S1,M1 = map(int,input().split()) cnt = 0 E,S,M =0,0,0 while(1): cnt += 1 E += 1 S += 1 M += 1 if E >= 16: E -= 15 if S >= 29: S -= 28 if M >= 20: M -= 19 if E == E1 and S== S1 and M == M1: break print(cnt) 무한대로 while문을 돌면서 카운팅을 해준다. 만약 E가 16을 넘으면 -15를 해주며 다시 1로 만든다.S와 M도 마찬가지로 빼주며 1로 만든다. 그러다가 입력받은 값이 나오면 break로 반복문을 끝내준다. 카운팅한 숫자를 출력하면 끝
height = [] for i in range(9): height.append(int(input())) two = sum(height) - 100 end = 0 for i in range(9): if end == 1: break for j in range(9): if height[j] == height[i]: continue if height[i] + height[j] == two: le = height[j] height.remove(height[i]) height.remove(le) end = 1 break height.sort() for i in range(7): print(height[i]) 1. 아홉명의 키의합 - 100 = 난쟁이가 아닌 두명의 키의 합 2. 2중 for문을 돌며 그 두명의 키..
객체지향 특징 1.캡슐화 데이터와 속성을 하나의 함수로 묶는 것. 캡슐화되어 정보가 은닉(은폐)되어 코드 수정시 오류의 파급효과가 적다. 캡슐화하면 객체의 재사용이 가능하다. - private,public과 같은 접근제어자로 접근할 수 있는 범위가 정해져서 정보의 은닉이 됨 2. 추상화 불필요한 부분을 생략하고 객체 속의 속성 중 가장 중요한 것만 개략화 하는 것(모델화 하는것) - 공통된 것들을 묶는 것 3. 상속성 부모 클래스와 자식클래스가 있어서 부모 속성을 자식에게 확장시키는 것 중복되는 코드의 재사용을 위함 4. 다형성 오버라이딩 오버로딩과 같이 하나의 메소드를 여러 방식으로 재정의하여 사용이 가능하다. - 오버로딩: 메소드 명만 같고 파라미터, 타입은 다른 메소드를 중복 선언하는 것 - 오버라..
Vue 라우터가 필요한 이유 뷰는 한 페이지에 내용만 바꾸면서 보여주는 방식이기 때문에 뷰 라우터가 안에 있는 내용을 바꾸어 보여주는 원리로 구현된다. props 부모에서 자식 데이터를 내려줄 때 사용. 상위 컴포넌트에서 하위 컴포넌트로 데이터를 넘겨준다. emit 하위 컴포넌트 -> 상위 컴프넌트로 데이터 전달 SPA 버튼을 클릭하거나 스크롤을 이동시키면 최소한의 변화만 일어나는 것입니다. 완전한 새로운 페이지를 불러오지 않고 현재의 페이지를 동적으로 다시 작성함으로써 사용자와 소통한다. 사용자의 경험의 간섭을 막아준다. 변화하는 것만 동적으로 불러들여서 추가한다. SFC(single file conponent) vue의 컴포넌트 기반 개발의 핵심 특징 하나의 컴포넌트는 하나의 .vue파일 하나 안에 ..
DOM : 문서 객체 모델 XML이나 HTML의 문서에 접근하기 위한 일종의 인터페이스. 표준화된 접근/조작 방법을 제공한다. 돔은 html 트리와 같은 구조화된 형태로 js가 실행되어질 수 있는 환경 1. Core DOM : 모든 문서 타입을 위한 DOM 모델 2. HTML DOM : HTML 문서를 위한 DOM 모델 3. XML DOM : XML 문서를 위한 DOM 모델 Vue, React를 사용하면 속도 개선을 위한 Virtual DOM 방식으로 DOM을 제어하게 된다. Virtual DOM -> 변경된 부분만을 가상돔에서 가려내어 모든 DOM제어 이후 최종적으로 DOM에서 한 번만 렌더링을 수행하는 방법 원래 돔은 파싱,페이팅,렌더링 같은 작업을 업데이트가 20번 일어나면 해당 작업을 20번 반복..
- Total
- Today
- Yesterday
- SSAFY퇴소
- javascript
- django
- 독학
- vue
- git
- 백준
- N과M
- 세션 스토리지
- 트리
- 비동기패턴
- 프로그래머스
- Pyhton
- 배포
- commit되돌리기
- vue.js
- 위클리챌린지2주차
- SSAFY
- 파이썬
- SWEA
- Python
- Java
- AWS
- DOM
- 싸피
- 자바
- 알고리즘
- SQL
- splide
- 안드로이드스튜디오
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |