1. 괄호 (백준 9012번)
직접 작성한 코드)
n=int(input())
for i in range(n):
count1=0
count2=0
a=input()
result='YES'
for j in a:
if j=='(':
count1+=1
else:
count2+=1
if (count2>count1):
result='NO'
if(count1!=count2):
result='NO'
print(result)
2. 제로 (백준 10773번)
직접 작성한 코드)
n=int(input())
array=[]
for i in range(n):
a=int(input())
if a==0:
array.pop()
else:
array.append(a)
print(sum(array))
3. 요세푸스 (백준 1158번)
직접 작성한 코드)
n,k=map(int,input().split())
array=[]
result=[]
index=0
for i in range(n):
array.append(i+1)
for i in range(n):
index+=k-1
index=index%len(array)
result.append(array.pop(index))
print('<',end='')
for i in range(n):
print(result[i],end='')
if i==n-1:
break
print(', ', end='')
print('>',end='')
4. 터렛 (백준 1002번)
참고 코드)
import math
n=int(input())
for i in range(n):
array=list(map(int,input().split()))
distance=math.sqrt((array[0]-array[3])**2+(array[1]-array[4])**2)
if (array[2]==array[5] and distance==0):
print(-1)
#내접 외접
elif abs(array[2]-array[5])==distance or array[2]+array[5]==distance:
print(1)
elif abs(array[2]-array[5])<distance<array[2]+array[5]:
print(2)
else:
print(0)
➡️ 원의 방정식을 이용해서 풀이한다.
5. 알파벳 찾기 (백준 10809번)
참고 코드)
n=input()
array = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
for i in array:
val=n.find(i)
print(val,end=' ')
➡️ find 함수: 인덱스 반환, 없으면 -1 반환
6. 소수 구하기 (백준 1929번)
직접 작성한 코드 + 참고 코드)
a,b =map(int,input().split())
def isPrime(num):
for i in range(2,int(num**0.5)+1):
if num%i==0:
return False
return True
for i in range(a,b+1):
if i==1:
continue
if isPrime(i):
print(i)
➡️ 모든 범위를 검사하지 않고, 제곱근까지 검사하면된다.
ex. 12의 약수는 1, 2, 3, 4, 6, 12 이다. 3까지 검사했을 때 약수가 있지 않으면 소수로 판단할 수 있다.
동일하게 25의 약수는 1, 5, 25 이다. 제곱근인 5까지 검사했을 때 소수가 아니라는것이 판단된다.
7. 소수 찾기 (백준 1978번)
https://www.acmicpc.net/problem/1978
n=int(input())
array=[]
count=0
def number(num):
if(num==1):
return False
for i in range(2,int(num**0.5)+1):
if num%i ==0:
return False
return True
array=list(map(int,input().split()))
for i in array:
if number(i)==True:
count+=1
print(count)
➡️ 인덱스의 중요성을 알게된 문제이다. int()는 소수부분을 제외한 정수를 return한다.
'CS Study > algorithm' 카테고리의 다른 글
다이나믹 프로그래밍 문제 풀이 (0) | 2022.07.31 |
---|---|
이진 탐색 문제풀이 (0) | 2022.07.30 |
DFS & BFS 문제 풀이 (0) | 2022.07.19 |
정렬 알고리즘 (문제 풀이) (0) | 2022.07.14 |
그리디 알고리즘 (문제 풀이) (0) | 2022.07.12 |