[내일배움캠프-퍼포먼스 마케터] 본캠프 51일차

이석민·2025년 7월 1일
post-thumbnail

오늘 학습한 내용

SQL 코드카타

문제

테이블:Logs

+-------------+---------+ 
| 열 이름 | 유형 | 
+-------------+---------+ 
| id | int | 
| num | varchar | 
+-------------+---------+ 
SQL에서 id는 이 테이블의 기본 키입니다. 
id는 1부터 시작하는 자동 증가 열입니다.
 

연속해서 3번 이상 나오는 모든 숫자를 찾으세요.

결과 표를 원하는 순서 대로 반환합니다 .

결과 형식은 다음 예와 같습니다.

작성 쿼리

SELECT distinct i1.num as ConsecutiveNums 
FROM 
    logs i1,
    logs i2,
    logs i3
WHERE 
    i1.id=i2.id+1 AND 
    i2.id=i3.id+1 AND 
    i1.num=i2.num AND 
    i2.num=i3.num

PYTHON 코트카타

문제

1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 
다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다.

1-1. 입력된 수가 짝수라면 2로 나눕니다. 
1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 
2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 
예를 들어, 주어진 수가 6이라면 
6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1 이 되어 총 8번 만에 1이 됩니다. 
위 작업을 몇 번이나 반복해야 하는지 반환하는 함수, solution을 완성해 주세요. 
단, 주어진 수가 1인 경우에는 0을, 
작업을 500번 반복할 때까지 1이 되지 않는다면 –1을 반환해 주세요.

제한 사항
입력된 수, num은 1 이상 8,000,000 미만인 정수입니다.

문제 풀이

* for 문 작성

def solution(num):
    for answer in range(500):
        if num == 1:
            return answer
        if num % 2 == 0:
            num = num // 2
        else:
            num = num * 3 + 1
    return -1
    
* while 문 작성

def solution(num):
    answer = 0
    while num != 1:
        if answer >= 500:
            return -1
        if num % 2 == 0:
            num = num // 2
        else:
            num = num * 3 + 1
        answer += 1
    return answer

통계학 학습내용

두 가지 이상의 버전(A와 B)을 동시에 사용자에게 노출하고, 각 버전의 성과 지표를 비교하여 어떤 버전이 더 나은지 통계적으로 검증하는 실험 방법을 뜻합니다.

  • A: 현재 또는 기존 버전(대조군)
  • B: 새롭게 제안하는 변화를 적용한 버전(실험군)

A/B 테스트는 마케팅 고객 데이터 분석 중 가장 널리 사용되는 방법이예요. 이는 오래전부터 과학에서 쓰여왔던 대조실험(가설을 입증하기 위해 대조군, 실험군을 설정하고 검증)과 같습니다.

따라서, 테스트 과정에서 다양한 통계적 개념을 바탕으로 실험이 진행됩니다.

  • 아이디어 vs 데이터:
    • 새로운 서비스나 기능을 만들 때, 우리의 ‘직관’이나 ‘경험’만으로 결정해도 될까?
    • A/B 테스트는 이런 ‘아이디어’를 ‘데이터’로 검증하는 과정!
  • 직관의 함정:
    • 우리가 옳다고 생각하는 것이 실제로는 효과가 없거나 오히려 나쁠 수 있어요.
    • 사용자의 행동은 예측하기 매우매우 어렵습니다.
    • 저의 경험) 웹툰 서비스 - 미리보기와 첫 3화
  • A/B 테스트의 목적:
    • 가장 효과적인 방법을 객관적인 데이터를 기반으로 더 나은 의사결정을 내리기 위함
    • 위험을 최소화하면서 서비스 개선을 점진적으로 진행

0개의 댓글