전체 글

728x90
반응형

 

728x90
반응형
728x90
반응형

 

728x90
반응형
728x90
반응형

import sys

N = sys.stdin.readline().rstrip()

S =set()

for i in range(len(N)):
    for j in range(i, len(N)):
        temp = N[i:j+1]
        #문자열 받는거 주목
        S.add(temp)
print(len(S))

문자열 슬라이싱 연습 또 연습이 답이다

 

https://knowallworld.tistory.com/112

728x90
반응형
728x90
반응형

import sys

alpha = int(sys.stdin.readline())

movie = 666

while alpha>0:
    if '666' in str(movie):
        alpha-=1
    movie+=1
print(movie-1)

브루트포스는 단순 무식이다. 다시 풀어볼것

 

728x90
반응형
728x90
반응형

import sys

N = int(sys.stdin.readline())
A=[]
for i in range(N):
    a = list(map(int, (sys.stdin.readline().split())))
    A.append(a)

res = [1 for i in range(N)]

for i in range(len(A)):
    for j in range(1,len(A)-i):
        if A[i][0] < A[i+j][0] and A[i][1] < A[i+j][1]:
            print(A[i][0] , "<" , A[i+j][0])
            print(A[i][1] , "<" , A[i+j][1])
            res[i]+=1
        elif A[i][0] > A[i+j][0] and A[i][1] > A[i+j][1]:
            res[i+j]+=1
        # else:
            # print('=======')
            # print(A[i][0] , ">=" , A[i+j][0])
            # print(A[i][1] , ">=" , A[i+j][1])
for i in res:
    print(i , end = ' ')

 

728x90
반응형
728x90
반응형
import sys
#입력 216
N = int(sys.stdin.readline())
print(N)
#출력 : 216
print(list(map(int,str(N))))
#출력 : [2,1,6]

#입력 216
M = list(map(int ,sys.stdin.readline().rstrip()))
print(M)
#출력 : [2,1,6]

O = list(map(str, sys.stdin.readline().rstrip().split()))
print(O)
#출력 : ['216']

P = list(map(str, sys.stdin.readline().rstrip()))
print(P)
#출력 : ['2','1','6']
Q = list(map(int, sys.stdin.readline().rstrip()))
print(Q)
#출력 : [2,1,6]

#입력 : 216 215
R = list(map(int, sys.stdin.readline().rstrip().split()))
print(R)
#출력 : [216,215]

print(str(365)[0] + str(365)[1])
#출력 36

split()함수는 여러개 입력할때 쓰는 거니깐 잘 기억해두자

 

따라서 rstrip만 쓰면 list에서 문자 하나하나 분석해둔다.

 

N = 356

str(N) = 365

str[0] = '3'

str[1] = '6'

str[2] = '5'

list(map(int, str(N))) 을 활용하여 356숫자를 int형으로 받아들인다.   

[3,6,5]로 받아들인다.

728x90
반응형
728x90
반응형

CASE 01  : 

import sys

def recursion(s, l, r):
    if l >= r: return [1 , l+1] #
    elif s[l] != s[r]: return [0 , l+1] #일치하지 않으면 호출 x
    else: return recursion(s, l+1, r-1) #재귀로 호출 더

def isPalindrome(s):
    return recursion(s, 0, len(s)-1)

N = int(sys.stdin.readline())
#print(isPalindrome('aaa'))
res = []
for i in range(N):
    A = str(sys.stdin.readline().rstrip())
    res.append(isPalindrome(A))
for p in range(len(res)):
    for k in res[p]:
        print(k , end = ' ')
    print('')
#isPalindrome('ABBA')
#recursion('ABBA', 0 , 4-1 = 3) l=0 <r=3 s[0] =A == s[3] ==A
# else return recursion('ABBA', l+1 = 1 , r-1 = 2)
#recursion('ABBA' , 1, 2) 1< 2 s[1] = B == s[2] ==B
#return recursion('ABBA' , 2, 1) ==> return print(1 , l=2)
#%%

l값이 0부터 증가하므로 처음 출발이 l값이 0이므로 +1 처리해준다.

 

CASE 02 : 

 

import sys

def recursion(s, l, r, count):
    if l >= r: return (1, count)
    elif s[l] != s[r]: return (0, count)
    else: return recursion(s, l+1, r-1, count+1)

def isPalindrome(s):
    return recursion(s, 0, len(s)-1, 1)

for T in range(int(sys.stdin.readline().rstrip('\n'))):
    print(*isPalindrome(sys.stdin.readline().rstrip('\n')))
728x90
반응형
728x90
반응형

import sys

#0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597
#n=20
#n=10
##0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55
def Fibo(n):

    if 0<n<=2:
        return 1
    elif n==0:
        return 0
    else:
        return Fibo(n-1) + Fibo(n-2)
a=int(sys.stdin.readline())
print(Fibo(a))
#Fibo(10) = Fibo(9) + Fibo(8)

#Fibo(9) = Fibo(8) + Fibo(7)


#Fibo(3) = Fibo(2) + Fibo(1) = 1+ 1 =2
#Fibo(2) = Fibo(1) + Fibo(0) = 1
#Fibo(1) = 1
#Fibo(0) = 0

생각할때 끝부분(처음꺼) 부터 거슬러 올라가는 연습 해보자

728x90
반응형

+ Recent posts