n = int(input())
n = int(n/4)
print('long '*n+'int')

 

 

 

문제: https://www.acmicpc.net/problem/25314

 

25314번: 코딩은 체육과목 입니다

오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++

www.acmicpc.net

'Baekjoon > python' 카테고리의 다른 글

[백준 10813번] 공 바꾸기  (0) 2023.02.21
[백준 10810번] 공 넣기  (0) 2023.02.21
[백준 11382번] 꼬마 정민  (0) 2023.02.21
[백준 2869번] 달팽이는 올라가고 싶다  (0) 2023.02.18
[백준 2292번] 벌집  (0) 2023.02.18
a, b, c = map(int, input().split())

print(a+b+c)

 

 

 

문제: https://www.acmicpc.net/problem/11382

 

11382번: 꼬마 정민

첫 번째 줄에 A, B, C (1 ≤ A, B, C ≤ 1012)이 공백을 사이에 두고 주어진다.

www.acmicpc.net

import math
a, b, v = map(int, input().split())

def day(a, b, v):
    # 낮에만 도달 가능
    # n >= 0
    # a != b
    # v <= (a-b)n + a
    # n >= (v-a)/(a-b)
    n = math.ceil((v-a)/(a-b))
    return n+1

print(day(a, b, v))

 

 

 

문제: https://www.acmicpc.net/problem/2869

 

2869번: 달팽이는 올라가고 싶다

첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)

www.acmicpc.net

'Baekjoon > python' 카테고리의 다른 글

[백준 25314번] 코딩은 체육과목 입니다  (0) 2023.02.21
[백준 11382번] 꼬마 정민  (0) 2023.02.21
[백준 2292번] 벌집  (0) 2023.02.18
[백준 1712번] 손익분기점  (0) 2023.02.18
[백준 1316번] 그룹 단위 체커  (0) 2023.02.18
import math
n = int(input())

def bee(input):
    n = (input-1)/3
    result = n**(1/2)
    return math.floor(result)+1

print(bee(n))

 

수1 문제를 푸는 느낌을 받았다. 너무 오랜만이라 감을 잡는 데 시간이 꽤 걸렸다.

 

 

 

문제: https://www.acmicpc.net/problem/2292

 

2292번: 벌집

위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌

www.acmicpc.net

import math
a, b, c = map(int, input().split())

def BEP(a, b, c):
    #sum1 = a+b*n
    #sum2 = c*n
    # sum1 - sum2 < 0이 되도록 하는 최초의 n 정수 값 구하기
    # sum1-sum2 = a+(b-c)*n < 0
    # a < (c-b)*n
    # n > a/(c-b)
    if b == c:
        n = -1
    else:
        n = math.floor(a/(c-b)) + 1
    if n <= 0:
        n = -1
    return n

print(BEP(a,b,c))

 

math.floor() 함수를 이용해 소수점을 버렸다.

 

 

 

문제: https://www.acmicpc.net/problem/1712

 

1712번: 손익분기점

월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와

www.acmicpc.net

'Baekjoon > python' 카테고리의 다른 글

[백준 2869번] 달팽이는 올라가고 싶다  (0) 2023.02.18
[백준 2292번] 벌집  (0) 2023.02.18
[백준 1316번] 그룹 단위 체커  (0) 2023.02.18
[백준 2941번] 크로아티아 알파벳  (0) 2023.02.17
[백준 5622번] 다이얼  (0) 2023.02.08
import sys

num = int(input())
n=0

for i in range(num):
    wl=[]
    isSequence = 2
    isNow = False
    word = list(sys.stdin.readline())
    word.remove('\n')
    word_set = list(set(word))
    wl.append(word[0])
    
    if len(word) == len(word_set): # 중복되는 알파벳이 존재 x
        n+=1
    elif len(word_set) == 1:
        n+=1
    else: # 중복되는 알파벳이 존재 o -> 모두 연속되는가를 확인
        for k in range(len(word)-1):
            if isSequence == 2 or isSequence == 1:
                if word[k] == word[k+1]:
                    wl.append(word[k])
                    wl = list(set(wl))
                    isNow = True
                    isSequence = 1
                else:
                    wl.append(word[k+1])
                    if isNow:
                        wl_set = list(set(wl))
                        if len(wl) != len(wl_set): # 연속이 아니다!
                            isSequence = 0
                        else:
                            isSequence = 1
            else:
                break
        if isSequence == 1:
            n+=1

print(n)

 

처음 풀 때 엄청 복잡하게 접근했었다.

그 결과 끊임없이 반례들이 발생했고 처음부터 다시 풀고자 했다.

 

list의 슬라이싱n을 1씩 빼는 방법(보통의 풀이와는 반대된 접근)으로 훨씬 간단하게 해결할 수 있었다.

n = int(input())

for i in range(n):
    word = list(input())
    
    for k in range(len(word)-1):
        if word[k] == word[k+1]: 
            pass
        elif word[k] in word[k+2:]:
            n-=1
            break
            
print(n)

 

 

 

문제: https://www.acmicpc.net/problem/1316

 

1316번: 그룹 단어 체커

그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때

www.acmicpc.net

'Baekjoon > python' 카테고리의 다른 글

[백준 2292번] 벌집  (0) 2023.02.18
[백준 1712번] 손익분기점  (0) 2023.02.18
[백준 2941번] 크로아티아 알파벳  (0) 2023.02.17
[백준 5622번] 다이얼  (0) 2023.02.08
[백준 2908번] 상수  (0) 2023.02.03
word = input()
wordList = ['c=','c-','d-','lj','nj','s=']

n=0
if len(word) == 1:
    print(1)
else:
    for i in range(len(word)):
        if word[i] == '=' or word[i] == '-':
            if word[i-1] == 'z':
                try:
                    if word[i-2] == 'd':
                        n-=1
                except:
                    n+=0
            elif word[i-1] == '=' or word[i-1] == '-':
                n+=0
            else:
                for k in range(len(wordList)):
                    if wordList[k] == word[i-1]+word[i]:
                        n+=0
                        break
        elif word[i] == 'j':
            if word[i-1] == 'l':
                n+=0
            elif word[i-1] == 'n':
                n+=0
            else:
                n+=1
        else:
            n+=1
    print(n)

 

반례가 계속 나와 시간이 걸렸던 문제이다.

문제에서 제시해주는 입출력 예시를 통해 반례를 무난히 해결할 수 있다.

 

 

 

문제: https://www.acmicpc.net/problem/2941

 

2941번: 크로아티아 알파벳

예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z=

www.acmicpc.net

'Baekjoon > python' 카테고리의 다른 글

[백준 1712번] 손익분기점  (0) 2023.02.18
[백준 1316번] 그룹 단위 체커  (0) 2023.02.18
[백준 5622번] 다이얼  (0) 2023.02.08
[백준 2908번] 상수  (0) 2023.02.03
[백준 1152번] 단어의 개수  (0) 2023.02.03
word = input()
# 대문자 아스키코드 65~90
n = 0
k = [65, 68, 71, 74, 77, 80, 84, 87, 91]
for i in range(len(word)):
    a = ord(word[i])
    for t in range(len(k)):
        if k[t] <= a < k[t+1]:
            n+=t+3
print(n)

 

 

 

문제: https://www.acmicpc.net/problem/5622

 

5622번: 다이얼

첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다.

www.acmicpc.net

'Baekjoon > python' 카테고리의 다른 글

[백준 1316번] 그룹 단위 체커  (0) 2023.02.18
[백준 2941번] 크로아티아 알파벳  (0) 2023.02.17
[백준 2908번] 상수  (0) 2023.02.03
[백준 1152번] 단어의 개수  (0) 2023.02.03
[백준 1157번] 단어 공부  (0) 2023.02.03
a, b = input().split()
a = int(a[::-1])
b = int(b[::-1])
if a > b:
    print(a)
else:
    print(b)

 

 

 

문제: https://www.acmicpc.net/problem/2908

 

2908번: 상수

상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두

www.acmicpc.net

'Baekjoon > python' 카테고리의 다른 글

[백준 2941번] 크로아티아 알파벳  (0) 2023.02.17
[백준 5622번] 다이얼  (0) 2023.02.08
[백준 1152번] 단어의 개수  (0) 2023.02.03
[백준 1157번] 단어 공부  (0) 2023.02.03
[백준 2675번] 문자열 반복  (0) 2023.01.26
sentence = input()
n=1
sentence = sentence.strip()
sentence = sentence.rjust(1, '1')

if sentence[-1]!='1':
    for i in range(len(sentence)):
        if sentence[i] == ' ':
            n+=1
    print(n)
else:
    print(0)

 

 

 

문제: https://www.acmicpc.net/problem/1152

 

1152번: 단어의 개수

첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열

www.acmicpc.net

'Baekjoon > python' 카테고리의 다른 글

[백준 5622번] 다이얼  (0) 2023.02.08
[백준 2908번] 상수  (0) 2023.02.03
[백준 1157번] 단어 공부  (0) 2023.02.03
[백준 2675번] 문자열 반복  (0) 2023.01.26
[백준 10809번] 알파벳 찾기  (1) 2023.01.26
word = input()
#소문자와 대문자는 32차이
#알파벳은 26개, 0~25 = 65~90 - 65
l = []
for i in word:
    ii=ord(i)
    if ii>91:
        ii-=32
    l.append(ii)
n = [0 for i in range(26)]

for i in range(len(l)):
    k = l[i]-65
    a = n[k]
    a+=1
    n[k] = a

maxN = max(n)
maxI = n.index(maxN)
n.remove(maxN)
if maxN == max(n):
    print('?')
else:
    print(chr(maxI+65))

 

처음 풀 때 시간 초과가 계속 떴던 문제이다.

그 이유는 count 함수를 사용했는데, 이를 사용할때마다 문자를 처음부터 끝까지 탐색하기때문에 시간이 많이 걸린다. 그래서 count 함수를 사용하지 않고서 새로운 코드를 작성했다.

알파벳이 총 26개인 점을 이용해 문제를 풀었다.

 

 

 

문제: https://www.acmicpc.net/problem/1157

 

1157번: 단어 공부

알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.

www.acmicpc.net

'Baekjoon > python' 카테고리의 다른 글

[백준 2908번] 상수  (0) 2023.02.03
[백준 1152번] 단어의 개수  (0) 2023.02.03
[백준 2675번] 문자열 반복  (0) 2023.01.26
[백준 10809번] 알파벳 찾기  (1) 2023.01.26
[백준 11654번] 아스키 코드  (0) 2023.01.26
import sys
num = int(input())
for i in range(num):
    a,b=sys.stdin.readline().split()
    c=''
    for i in b:
        c+=i*int(a)
    print(c)

 

 

 

https://www.acmicpc.net/problem/2675

 

2675번: 문자열 반복

문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다

www.acmicpc.net

'Baekjoon > python' 카테고리의 다른 글

[백준 1152번] 단어의 개수  (0) 2023.02.03
[백준 1157번] 단어 공부  (0) 2023.02.03
[백준 10809번] 알파벳 찾기  (1) 2023.01.26
[백준 11654번] 아스키 코드  (0) 2023.01.26
[백준 15596번] 정수 N개의 합  (0) 2023.01.12

+ Recent posts