목록Development/Algorithm & Coding Test (189)
컴공생의 다이어리
백준 2292번 : 벌집 (문제 바로가기) 내 코드 n=int(input()) count=1 num=1 while True: if num>=n: break num+=6*count count+=1 print(count)
백준 1712번 : 손익분기점 (문제 바로가기) 손익분기점이란? 최초로 총 수입이 총 비용보다 많아져 이익이 발생하는 지점 이 문제에서 출력 결과는 손익분기점이 있을 경우와 없을 경우로 나누어진다. 손익분기점이 없을 경우는 B라는 가변비용보다 C라는 상품 가격이 클 때이다. 간단하게 생각해보면 생산하는데 드는 비용이 판매하는 가격보다 크면 그것은 손실이기 때문에 손익분기점이 없다. 내 코드 a,b,c = map(int,input().split()) if b>=c: print(-1) else: print(int(a/(c-b))+1)
백준 1316번 : 그룹 단어 체커 (문제 바로가기) 내 코드 N = int(input()) result = N for i in range(0,N): word=input() for j in range(0,len(word)-1): if word[j]==word[j+1]: pass elif word[j] in word[j+1:]: result-=1 break print(result)
완전수(Perfect Number) - 그 수 자신을 제외한 모든 약수의 합이 그 수 자신과 같은 수 - 홀수인 완전수가 없다는 것은 증명되지 않았지만, 지금까지 발견된 정수 중에는 홀수인 완전수는 없다는 것이 확인됨 예시 : 6의 약수는 1, 2, 3, 6이고 그 수 자신을 제외한 1 + 2 + 3의 합은 6과 같으므로 6은 완전수 부족수(Deficient Number) - 그 수 자신을 제외한 모든 약수의 합이 그 수 자신보다 작은 수 예시 : 8의 약수는 1, 2, 4, 8이고 그 수 자신을 제외한 1 + 2 + 4의 합은 7이므로 8보다 작기 때문에 8은 부족수 과잉수(Abundant Number) - 그 수 자신을 제외한 모든 약수의 합이 그 수 자신보다 큰 수 예시 : 12의 약수는 1, 2,..
현민이는 게임캐릭터가 맵 안에서 움직이는 시스템을 개발중이다. 캐릭터가 있는 장소는 1 * 1 크기의 정사각형으로 이뤄진 N * M 크기의 직사각형으로, 각각의 칸은 육지 또는 바다이다. 캐릭터는 동서남북 중 한 곳을 바라본다. 맵의 각칸은 (A, B)로 나타낼 수 있고, A는 북쪽으로부터 떨어진 칸의 갯수, B는 서쪽으로부터 떨어진 칸의 개수이다. 캐릭터는 상하좌우로 움직일 수 있고, 바다로 되어 있는 공간에는 갈 수 없다. 캐릭터의 움직임을 설정하기 위해 정해놓은 매뉴얼은 이러하다. 현재 위치에서 현재 방향을 기준으로 왼쪽 방향(반시계 방향으로 90도 회전한 방향)부터 차례대로 갈 곳을 정한다. 캐릭터의 바로 왼쪽 방향에 아직 가보지 않은 칸이 존재한다면, 왼쪽 방향으로 회전한 다음 왼쪽으로 한 칸을..
행복왕국의 왕실정원은 체스판과 같은 8 * 8좌표 평면이다. 왕실 정원의 특저안 한 칸에 나이트가 서있다. 나이트는 매우 충성스러운 신하로서 매일 무술을 연마한다. 나이트는 말을 타고 있기 때문에 이동을 할때는 L자 형태로만 이동할 수 있으며 정원 밖으로는 나갈 수 없다. 나이트는 특정한 위취에서 다음과 같은 2가지 경우로 이동할 수 있다. 수평으로 두 칸 이동한 뒤에 수직으로 한 칸 이동하기 수직으로 두 칸 이동한 뒤에 수평으로 한 칸 이동하기 질문 이처럼 8 * 8 좌표 평면상에서 나이트의 위치가 주어졌을 때 나이트가 이동할 수 있는 경우의 수를 출력하는 프로그램을 작성하시오. 코드로 구현 아래는 파이썬으로 구현한 코드이다. cur=input() row=int(cur[1]) column=int(ord..
질문 정수N이 입력되면 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는 모든 경우의 수를 구하는 프로그램을 작성하시오, 예를 들어 1을 입력했을 때 다음은 3이 하나라도 포함되어 있으므로 세어야 하는 시각이다. 구현한 코드 아래는 파이썬으로 구현한 코드이다. N=int(input()) count=0 for h in range(N+1): for m in range(60): for s in range(60): if '3' in str(h)+str(m)+str(s): count+=1 print(count) 아래는 c/c++으로 구현한 코드이다. #include #include int main() { int N; int count = 0; std::cin >> N; f..
여행가 A는 N * N 크기의 정사각형 공간 위에 서있다. 이공간은 1 * 1 크기의 정사각형으로 나누어져 있다. 가장 왼쪽 위 좌표는 (1, 1)이며 가장 오른 쪽 아래 좌표는 (N, N)에 해당한다. 여행가 A는 상, 하 ,좌 ,우 방향으로 이동할 수 있으며 시작좌표는 항상(1, 1)이다. 우리앞에는 여행가가 A가 이동할 계획서가 놓여있다. 계획서에는 하나의 줄에 띄어쓰기를 기준으로 하여 L, R, U, D중 하나의 문자가 반복적으로 적혀 있다. 각 문자의 의미는 다음과 같다. L : 왼쪽으로 한 칸 이동 R : 오른쪽으로 한 칸 이동 U : 위로 한 칸 이동 D : 아래로 한 칸 이동 이때 여행가 A가 N * N 크기의 정사각형 공간을 벗어나는 움직임은 무시된다. 예를 들어 (1, 1) 의 위치에서..
문제 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를 작성..
A, B 두 사람이 볼링을 치고 있다. 서로 무게가 다른 볼링공을 고르려고 한다. 볼링공은 총 N개가 있으며 각 볼링공마다 무게가 적혀 있고, 공의 번호는 1번부터 순서대로 부여된다. 또한 같은 무게의 공이 여러 개 있을 수 있지만, 서로 다른 공으로 간주한다. 볼링공의 무게는 1부터 M까지의 자연수 형태로 존재한다. 질문 N개의 공의 무게가 각각 주어질 때, 두 사람이 볼링공을 고르는 경우의 수를 구하는 프로그램을 작성하시오. 구현한 코드 아래는 파이썬으로 구현한 코드이다. N,M=map(int,input().split()) ball=list(map(int,input().split())) arr=[0]*11 for x in ball: arr[x]+=1 result=0 for i in range(1,M+..