| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- Algorithm
- 백준
- 문제풀이
- 드림핵
- 디지털 포렌식
- C언어
- BaekJoon
- 포렌식
- dreamhack
- 알고리즘
- 스터디
- WHS
- webhacking.kr
- XSS
- command
- 인프런
- 프로그래머스
- 자라나는새싹
- c
- Programmers
- Python
- 파이썬
- 워게임
- 자라나는 새싹
- 웹해킹
- 풀이
- Web
- hacking
- CSRF
- WarGame
- Today
- Total
목록Algorithm (42)
Hoin's security
백준 10773번 문제를 파이썬으로 풀어보겠다. 스택은 데이터의 삽입과 삭제가 데이터의 가장 한쪽 끝에서만 일어나는 자료구조로 가장 마지막에 삽입된 데이터가 가장 먼저 사용되거나 삭제된다. 데이터를 삽입하는 과정을 push, 가장마지막에 삽입한 데이터를 삭제하는 과정을 pop라고 부른다. count = int(input()) # 입력받을 총 숫자의 수 stk = [] # 스택 리스트 for i in range(count): num = int(input()) if(num == 0): #num이 0이면 pop stk.pop() #pop()함수는 맨 마지막 원소를 리턴하고 해당 원소는 삭제함. else: stk.append(num) #그게 아니라면 append = push #append() 안에 값을 입력하면..
백준 1978번 문제를 풀어보겠다. 문제는 위와 같다. 소수는 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수를 말한다. 이를 판별하는 방법은 입력받은 숫자를 2부터 입력받은 수-1까지 나누어 보았을 때 나누어 떨어지면 소수가 아닌 것으로 찾는 방법과 에라토스테네스의 체 알고리즘을 사용하는 방법이 있다. 전자는 효율이 떨어지기 때문에(속도가 느림.) 후자를 기준으로 살펴본다. 에라토스테네스의 체는 고대 그리스의 수학자 에라토스테네스가 만들어 낸 소수를 찾는 방법이다. 이 방법은 마치 체로 치듯이 수를 걸러낸다고 하여 '에라토스테네스의 체'라고 부른다. 에라토스테네스의 체 알고리즘은 여러 개의 수가 소수인지 아닌지를 판별할 때 사용하는 대표적인 알고리즘이고 N보다 작거나 같은 모든 소수를 찾을 ..
c언어로 풀이한다. 버블정렬을 사용한다. 6주차의 배열문제에서 사용했으니 참고하시길.
이어서 c언어로 풀이를 진행한다. 전의 문제에 쓴 malloc함수를 사용해서 풀이했다.
오늘도 어김없이 C언어로 문제풀이 진행하겠다. 주어진 문제와 코드는 위와 같다. malloc 함수를 사용하려면 이나 헤더를 포함시켜야 하는데 위의 코드에서는 를 사용했다. malloc 함수는 요청한 크기의 메모리를 동적으로 할당하여 반환해준다. malloc은 리턴 값으로 void형 포인터를 리턴한다. 그래서 위 코드에서 int형으로 지정해준것이다.
이어서 C언어로 풀이 진행한다. 주어진 문제와 코드는 위와같다. 파이썬 배울 때 썼던 버블정렬으로 오름차순으로 정렬해준 뒤 중앙값을 찾아주어야한다. 버블정렬은 위와 같은 로직으로 이루어진다. 버블정렬을 해준 뒤 배열의 길이를 2로 나눈 자리의 값을 return해주었다. 오늘도 성공적인 마무리!!
계속해서 C언어로 문제풀이 진행해보겠다. 주어진 문제와 코드는 위와 같다. for문을 사용해서 배열 array의 각 자리를 1씩 더해주면서 n과 일치하면 answer에 1씩 증가시키게끔 하였다.
이번 문제풀이도 C언어로 진행하겠다. 주어진 문제와 코드는 위와 같다. while문을 사용해서 answer와 6을 곱한 값이 n으로 나누었을 때 나머지가 0이 아닌 경우 answer에 1씩 더해주는 반복문을 만들었다. 나누어지면 반복문을 탈출하게끔 else에 break를 넣어줬다.
이어서 C언어로 문제 풀이 진행한다. 주어진 문제와 코드는 위와 같다. 먹는 사람이 7명이면 answer에 1을 대입해주고 아니라면 사람 수를 7로 나눈 뒤 딱 떨어지지 않는 경우를 대비해 1을 더해주게끔 하였다.
