1. 나머지 연산 답이 너무 커서(정답이 int나 longlong과 같은 자료형의 범위를 넘어갈 때) 나머지 값을 요구하는 문제에서는, 답을 다 구한 다음에 나머지를 구하는 것이 아니라, 연산할 때마다 나머지를 구해야 한다. (A+B)%C = (A%C + B%C) (A*B)%C = (A%C * B%C) ▶뺄셈의 경우 주의해야 할 것! (6-5)%3 = 1 % 3 = 1 (6%3 - 5%3)%3 = (0 - 2) % 3 = -2 % 3 = -2? 1? 이것은 언어마다 답이 다르다. C11, C++14 : -2 Java : -2 Python3 : 1 마이너스가 나오는 언어의 경우, A%C - B%C 에 C를 더해준 뒤 C로 나누도록 한다. 즉, (A%C - B%C +C ) %C ■ BOJ 10430번 - 나..
www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 덱을 이용하는 문제 잊고 있던 덱 기본 문법을 익히기 좋은 문제였다. import collections people, n = map(int, input().split()) deq = collections.deque([]) answer = [] for p in range(people): deq.append(p+1) while len(deq) != 0: for _ in range(n): x = deq.popleft() deq.append(x) answer.append(deq.pop()) print('') ..
www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 커서를 기준으로 left, right 스택을 두고 풀어야 한다. 코드 플러스 알고리즘 기초 강의를 수강하면서 문제를 풀고 있는데, 강의에서 스택문제라는 걸 알고 풀어서 나름 쉽게 풀렸는데 스택을 이용해야하는 문제라는 것을 아는 것이 중요한 것 같다. import sys sen = list(input()) # 입력 문자열 n = int(input()) # 명령어의 개수 cmds = [] for _ in range(..
백준 문제풀이를 시작했다. 평소 프로그래머스 문제들만 풀다가 처음 백준을 풀기 시작했는데 변수 입력받는 것부터 헤매서 정리를 하려고 한다. www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net split() a.split()처럼 괄호 안에 아무 값도 넣어 주지 않으면 공백(스페이스, 탭, 엔터 등)을 기준으로 문자열을 나누어 준다. 만약 b.split(':')처럼 괄호 안에 특정 값이 있을 경우에는 괄호 안의 값을 구분자로 해서 문자열을 나누어 준다. input().split() 여러개 입력받을 때. 리스트 형태로 반환 map map(데이터 타입, 리스트) : 리스트 원소들을 해당 ..
개발자, 고객 모두 requirement 정의하기 어려움. 정의한다해도 말로 requirement 에 대해 개발자와 고객이 서로 다른 걸 생각하고 있을 수도 있음. Requirements Engineering requirements - system이 반드시 제공해야하는 services에 대한 description = functional req - system operations에 대한 제약(constraints) = non-functional req - 시스템에 대한 고객의 need를 반영하는 것 Requirements engineering(RE) - services, constraints에 대해 추출, 문서화, 검증하는 프로세스 requirements engineering processes 1. req..
Introduction to agile methods Rapid Software Development - Agile이 탄생하게 된 배경 (참고만) 빠른 development와 delivery는 software system에서 매우 중요한 요구사항이 되었다. 그러나 속도와 질은 trade off 되는 것. 실질적으로 안정적인 software requirements를 이끌어내기란 거의 불가능하다. 왜냐하면 써봐야 req를 알수 있기 때문에. -> '빨리 뭐라도 만들어서 시험해보자' 는 발상 plan-driven process는 rapid software development에는 맞지 않는 방식이다. 왜냐면 req가 change되면, rework, retest해야하기 때문에. requirements chain..
Waterfall alalyse(기능명세) -> design -> code(=implementation) -> test( release (참고) 임베디드 시스템. 잘못하면 죽으니까, 한단계 한단계를 완벽하게. waterfall design의 단점 : 다시 되돌아갈 수 없음. Agile : 계획을 진행하면서 고쳐나가는 전략 . 실력 high 요구됨 1. Software process Models - 6가지 2. Process activities - 4단계. specification, design and implementtion, validation, evolution 3. Coping with change - Prototyping, incremental delivery (* incremental deliv..
1. Introduction to preofessional software development Software in the Modern world 대부분의 시스템이 software-controlled -국가 시설, 전자제품, 재정시스템, 엔터테인먼트, 산업 등 -> 따라서, software engineering 은 우리 사회에서 필수적인 기능을 하는 요소가 되었다. Software 의 특징 소프트웨어 시스템은 추상적(abstract)이고 만질 수 없는 것(intangible) - material의 특성에 제약을 받지 않음 - 물리적 특징이나 형태가 없음 - 물리적인 법이나 제조 과정에 따르지 않음 위처럼 같은 내용이더라도 2줄이 될수도 있고 10줄이 될 수도 있음. -> 매우 복잡하고, 이해하기 어렵고..
- Total
- Today
- Yesterday
- S3 403 forbidden
- partyrock사용볍
- awsgenai
- partyrock앱
- 백준
- partyrock무료
- 오블완
- 술자리병돌리기게임
- partyrock생성
- 코딩테스트
- 병돌리기구현
- 정적 웹페이지 배포
- React native 작동 원리
- aws생성형ai
- easycode
- 생성형AI
- 정적 웹사이트 배포
- 파이썬
- 티스토리챌린지
- partyrock
- ChatGPT
- SpacewBetween
- easycode chatGPT
- PYTHON
- genaiapp
- vscode easycode
- AWSBedrock
- 알고리즘
- S3배포
- BOJ
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |