코테

·코테
function solution(str1, str2) { let answer = '' for(let i = 0; i문자열을 for문으로 저렇게 배열을 통해서 돌리면 한 글자씩 나오고 두 글자를 합쳐서 answer에 넣어주었다. 두 글자를 합쳐서 넣어주기 때문에 for문은 str1의 길이만큼 돌렸다. 다만 코드가 길어보인다는 단점이 있다. function solution(str1, str2) { return [...str1].map((x, idx)=> x+str2[idx]).join("");}캬.... 어떻게 이런 생각을 할 수 있는건지...str1을 구조분해할당해서 map으로 돌린다.x안에는 str1[]을 넣고 idx에는 번호?를 넣어줌으로써 map으로 반복문을 돌린 것... 근데 joi..
·코테
def solution(my_string, overwrite_string, s): return (my_string.replace(my_string[s:s+len(overwrite_string)],overwrite_string,1))내 실패한 코드......우선 테스트까진 잘 됐으나, 반례가 생겼다.바로 aaaaaa를 3번째부터 bbb로 바꾸는 것. 애초에 replace는 같은 문자열을 뒤에 있는 문자열로 변환하는 것이기 때문에 중복되는 문자열인 aaa가 전부 bbb로 바뀌는 것.처음에 이를 해결해보기 위해 1번만 변환하도록 뒤에 1을 넣었으나, 제일 중요한 첫 번째 aaa가 변환된다는 것을 막을 수는 없었다. 한 30분동안 고민해보다가 전에 30분에서 1시간 정도 고민했으면 해답을 찾아보라는 말이 ..
·코테
처음 봤을 때 if문으로 홀짝 구분해서 출력하면 되겠구나 하는 생각이 들어서 아래와 같이 작성하였다.a = int(input())if a%2 == 0: print(f'{a} is even')else: print(f'{a} is odd') 그리고 다른 사람의 풀이를 봤다.N = int(input())print(f"{N} is {'even' if N % 2 == 0 else 'odd'}")이런 식으로도 사용할 수 있다는 것이 신기하다,,,, 근데 왜 이렇게 사용했을까a = 1 result = "일치" if a == 1 else "불일치" print(result) # 일치​ 형식: 변수 = A if {조건} else B여기서 A는 조건에 부합(if)할 시의 결과, B는 조건에 부합하지 않을(else..
·코테
str = input()for i in str: print(i)원래print(input().replace('',"\n"))위의 코드를 이용해서 풀어보려고 했는데... a앞에 줄바꿈이 생겨서 문제가 정답 처리 되지 않는 불상사가 생겼다...눈물을 머금고 일반인의 코드로 일단은 문제를 풀고 다른 고수분들의 코드를 봤다...역시 나와 비슷한 생각을 한 분이 있었고 코드를 보니print(input().replace('',"\n")[1:]) 뒤에 [1:]이 적혀있었다. 이게 뭔가 검색을 해보니 java로 따지면 slice와 같은 것 같았다.input을 받고 그걸 replace를 하는데 문자열의 1번째 부분부터 replace를 진행하도록 설정해주는 것...근데 이게 문제가 end부분을 설정을 하지 않으니 제일..
·코테
str1, str2 = input().strip().split(' ')print(str1 + str2)우선 이건 내 첫 코드이다. 당연히 실행이랑 통과는 됐다. 그리고 나서 다른 사람의 코드를 보는데 print(input().strip().replace(' ', ''))이런 코드가 있었다.늘 코드를 어떻게 하면 더 줄일 수 있을까를 갈망하는 나는 위의 코드를 잘라서 분석했다. 처음에 봤을 때는 그냥 replace없이 split만 있으면 되는 거 아닌가 해서print(input().strip().split(' '))위와 같이 돌렸더니 아래와 같은 결과가 나왔다. 어떤 문법이 이 입력값을 문자열로 바꿨나 해서 뒤에서부터 하나씩 지워봤다.strip만 사용하니  그냥 Hello World가 나왔다. 그럼 spl..
·코테
a, b = map(int, input().strip().split(' '))print(a,'+',b,'=',a + b)나는 이렇게 따옴표 많이 넣어서 풀었는데, 파이썬에도 백틱같은 것이 있었나보다.a, b = map(int, input().strip().split(' '))print(f"{a} + {b} = {a + b}")앞에 f를 붙이고 변수에는 중괄호를 붙이면 된다.