풀이 1. 각 DNA의 자리마다 어떤 알파벳이 많은지 세어 count해준다. 2. 최대 카운트를 새로운 리스트에 넣어준다. 여기서 최대값이 두개가 있다면 알파벳의 앞순서들이 우선 되어야 하므로 append가 수행되었으면 check에 1값을 넣어주어 중단하게 한다. 3. new_DNA와 원래 DNA들을 비교해서 다른 원소가 있으면 count해준다. N, M = map(int, input().split()) #N = DNA 갯수 M = DNA의 길이 DNA = [list(input())for _ in range(N)] apb = ['A','C','G','T'] #자리마다 뭐가 많은지 세어줌 max_apb = 0 new_DNA = [] for j in range(M): cnt_apb = [0, 0, 0, 0]..
이 문제는 백준 16053 A->B문제와 유사하다. 그 문제에서는 숫자로 되어있었고 이 문제는 문자열로 이루어져있다. 따라서 연산을 거꾸로 해서 풀어주면 된다. 풀이 1. 맨 끝이 A라면 pop해서 빼준다. 2. 맨 끝이 B라면 pop해서 빼주고 뒤집어준다. 3. 1,2번을 반복했을 때 S와 T가 같으면 ans=1로 해주고 while문에서 빠져나간다. S = list(input()) T = list(input()) ans = 0 while T: if S == T: ans = 1 break if T[-1] == 'A': T.pop() elif T[-1] == 'B': T.pop() T.reverse() print(ans)
풀이 1. 무한루프 안에서 B가 짝수이면 B를 2로 나눈다. 동시에 cnt++ 2. B를 10으로 나눴을 때 나머지가 1이라면 10으로 나눠준다. 동시에 cnt++ 3. 만약 A == B이라면 cnt+1해주고 break걸어 cnt 출력 4. A > B라면 B는 연산을 통해 A가 될 수 없으므로 cnt = -1 후 break, cnt 출력 5. 위의 조건문이 충족하지 않으면 else를 줘서 cnt = -1값으로주고 break하게 했다. 이 문제는 처음에 보고 쉽다고 풀었는데 계속 틀렸다고 떠서 너무 짜증이 났다. 맞는데 계속 안돼서 알아낸 것이 else문을 줘야한다는 점이다! A, B = map(int, input().split()) cnt = 0 while True: if A == B: cnt += 1 ..
풀이: 인덱스 만큼의 누적합을 구하는 문제이고 그것들의 합이 최소가 되어야하는 문제이기 때문에 1. 들어온 리스트를 작은순서대로 정렬해준다. 2. 앞에꺼부터 인덱스까지만큼 더해서 새로운 리스트에 넣어준다. 3. 새로운 리스트의 원소의 합을 구하면 끝 N = int(input()) P = list(map(int, input().split())) NP = sorted(P) sum_NP = [] tmp = 0 for i in range(len(NP)): tmp += NP[i] sum_NP.append(tmp) print(sum(sum_NP))
Conflict: 계속 발생할 충돌 상황 올라간 파일과 로컬에 있는 파일에 수정을 각각해서 내용이 다를 때 git log --oneline하면 커밋한 목록 나옴 git log --oneline --graph하면 그래프처럼 나옴 git reset 커밋번호 하면 그 번호 이전으로 리셋됨 gir revert도 과거로 돌아가는 명령어 중 하나 커밋을 남기고 git branch라고 쓰면 master나 다른 것들이 뜬다.(현재 브랜치) 브랜치 생성하는 방법 git branch 브랜치이름 브랜치 이동(HEAD라는 위치를 바꿔주는 것) git switch 브랜치이름 브랜치 삭제 git branch -d 브랜치 이름 브랜치를 만들고 merge를 한 뒤에 브랜치를 지워줘야한다. git merge master하면 다른 브랜..
-- 데이터조회 : SELECT 컬럼명 FROM 테이블명; SELECT * FROM examples; --DDL(데이터 정의어) --테이블 생성 CREATE TABLE classmates ( id INTEGER PRIMARY KEY, name TEXT, age INT, address TEXT ); --테이블 삭제 DROP TABLE classmates; --ALTER --테이블명 변경 ALTER TABLE articles RENAME TO news; --컬럼 추가(NOT NULL 제약조건 처리 필요) ALTER TABLE news ADD COLUMN created_at TEXT; ALTER TABLE news ADD COLUMN created_at TEXT NOT NULL DEFAULT 1; --DML(..
RDB 여러사람이 동시에 사용할 수 있는 집합 테이블 또는 릴레이션이라고 부른다 컬럼 = 속성,필드 row = tuple 또는 record 스키마 : 1. 테이블 이름을 지정하고 2.컬럼의 이름과 함께 타입을 지정 테이블의 구조를 뜻하며 데이터의 형태를 스키마라고 부른다. 테이블 사이에는 관계를 맺을 수 있다 -> 관계형 데이터베이스 현실 세계를 모델링 설계하는 것 : DB모델링 약속 하나의 필드에는 하나의 정보만 넣어준다 컬럼 이름은 고유하게 하나만 만들 것 가능하면 레코드 값의 중복은 피할 것 ==> 테이블을 쪼개고 관계를 지어줌 모델관계 필드 1:N # 하나의 게시글은 여러개의 댓글을 가질 수 있다. M:N 1:1 Foreign Key 외래키 자식테이블이 부모테이블을 참조하기 위해 저장한 부모테이블..
import sys sys.stdin = open('input.txt') T = int(input()) for tc in range(1, T+1): N = int(input()) cnt = 0 lst = [list(map(int, input().split())) for i in range(N)] #교차하는 케이스는 2개 #A1Y2일 때 교차 #A1>A2 이고 Y1 lst[j][1]: cnt += 1 elif lst[i][0] > lst[j][0]: if lst[i][1] < lst[j][1]: cnt += 1 ##########행렬로 했더니 런타임에러########### # N = int(input()) # cnt = 0 # arr = [[0] * 10000 for _ in range(10001)] # ..
Signup(회원가입) from django.contrib.auth.forms import UserCreationForm login(로그인) from django.contrib.auth.forms import AuthenticationForm update(회원정보 수정) from .forms import CustomUserChangeForm logout(로그아웃) from django.contrib.auth import logout as auth_logout delete(회원삭제) request.user.delete() #삭제후 auth_logout #로그아웃 update_password(패스워드 수정) from django.contrib.auth.forms import PasswordChangeForm..
Cookie(쿠키) 서버가 사용자의 웹 브라우저에 전송하는 데이터 조각 동일한 서버에 재 요청시 요청 + 쿠키를 함께 전송한다. 세션을 유지하는 방식중 가장 대표적인 방식(헨젤과 그레텔에서 유래, 사용자의 흔적을 남김) - 유효시간을 정하여 쿠키가 브라우저에서 유효한 시간을 지정할 수있다 - 사용자의 정보데이터를 컴퓨터에 저장하는 것 4K까지 가능 Session 사이트와 특정 브라우저 사이의 상태를 유지시키는 것 세션을 유지한다 = 상태 정보를 유지하여 클라이언트가 서버와 연결한다 - 클라이언트 id를 부여하여 세션id라고 하고 서버에 저장한다. 쿠키와 세션의 차이점 - 세션이 서버에 접근하는거라 보안성은 높지만 많으면 서버에 부담을 줌 - 따라서 쿠키와 세션 적절히 사용함 쿠키의 종류 Session c..
- Total
- Today
- Yesterday
- 안드로이드스튜디오
- N과M
- SWEA
- 백준
- 파이썬
- Python
- 비동기패턴
- splide
- 싸피
- vue.js
- 트리
- DOM
- 알고리즘
- commit되돌리기
- SSAFY퇴소
- 독학
- 배포
- javascript
- SQL
- 세션 스토리지
- Java
- 프로그래머스
- Pyhton
- SSAFY
- AWS
- vue
- django
- 위클리챌린지2주차
- git
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |