코딩 기초 트레이닝
1. 코드 처리하기
- code[idx] == 1면 mode 0→1, 1 →0으로 변경
- XOR 연산(값이 같으면 0, 다르면 1)
- mode ^ = 1
- 0 ^ 1 = 1이 나오므로 mode 0→1 변경
- 1 ^ 1 = 0이 나오므로 mode 1 →0 변경
값1 | XOR 연산 | 값2 | 결과 |
0 | ^ | 0 | 0 |
0 | ^ | 1 | 1 |
1 | ^ | 0 | 1 |
1 | ^ | 1 | 0 |
- mode 0일 때 i가 짝수면 / mode 1일 때 홀수면 answer에 code[i] 추가
- 짝수: i % 2 == 0 == mode가 0인 상황
- 홀수: i % 2 == 1 == mode가 1인 상황 ⇒ if i % 2 == mode:
- 만약 answer이 빈 문자열이라면 "EMPTY" return
- if answer == '':
return 'EMPTY'
- if answer == '':
def solution(code):
answer = ''
mode = 0
for i in range(len(code)):
if code[i] == '1':
mode ^= 1
else:
if i % 2 == mode:
answer += code[i]
if answer == '':
return 'EMPTY'
return answer
2. 등차수열의 특정한 항만 더하기
- included가 True인 항만 더한 값
- True값을 정수화하면 1
- if int(includedi[i]) == 1:
- True값을 정수화하면 1
- 등차수열: a 정수, d 공차
- answer += (a+(d*i))
- 만약 3 , 4, [true, false, false, true, true]라면
- 3 + 15 + 19
- 3 = 3 + (4*0)
- 15 = 3 + (4*3)
- 19 = 3 + (4*4)
- answer += (a+(d*i))
def solution(a, d, included):
answer = 0
for i in range(len(included)):
if int(included[i]) == 1:
answer += (a+(d*i))
else:
pass
return answer
참고 사이트: https://programmers.co.kr/
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
반응형